藍橋杯中的螺旋矩陣問題

2021-06-26 16:49:41 字數 1222 閱讀 1135

題目內容:

乙個從裡向外逆時針轉出來的螺旋n*n的矩陣 輸

輸入描述

矩陣的規模,0~50,如5表示5行5列的矩陣

輸出描述

矩陣的規模,0~50,如5表示5行5列的矩陣,每個數占5位

輸入樣例

5輸出樣例

25    24   23   22   21

10     9    8     7      20

11     2    1     6      19

12     3    4     5       18

13    14   15   16    17

分析:首先要確定1的位置,根據總結,得出1的y座標等於n/2,1的x座標不確定,然後就是設定旋轉了這個分析起來有點暈,看了一會兒後會發現,首先是每次填寫數字都有左下右上這麼四個過程,而且之後就是這四個過程的重複,而且每次一條線上的資料的長度都在增加,這樣就好說了

#include#define m 51

int main()

,b[m][2];

int i,j,x,y,p = 1,q = 1,m = 1,k,l,r,s,t;

int n;

int flag = 0,flagg = 1;;

b[0][0] = 0;

b[0][1] = 1;

scanf("%d",&n);

for(i = 1;i <= n; i++)

if(flag%2 == 1)

flag++;

} for(i = 0;i < m; i++)

if(i + 2 == n)

t = x;

s = y;

while(m <= n*n)

for(k = t + 1;k <= t + q; k++)

p++;

q++;

for(l = j + 2;l <= j + p; l++)//坑爹的l = j + 2,我開始一直用j + 1,老是有問題,看來細心真的很重要啊

for(r = k - 1;r >= k - q; r--)

p++;

q++;

s = l;

t = r;

} for(i = 0;i < n; i++)

//putchar('\n');

printf("\n");

} return 0;

}

藍橋杯螺旋矩陣問題

問題描述 對於乙個 n 行 m 列的 我們可以使用螺旋的方式給 依次填上正整數,我們稱填好的 為乙個螺旋矩陣。例如,乙個 4 行 5 列的螺旋矩陣如下 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8 輸入格式 輸入的第一行包含兩個整數 n,m,分...

藍橋杯 螺旋矩陣

一道校賽的題,題目忘了,但大概意思就是,輸入 舉證的行 列數,構造螺旋矩陣 思路就是構造乙個二維陣列,然後全部填0,做為 螺旋填數時的碰壁判斷 填數是從 1 到 x y,所以外面套乙個while迴圈,當填的數 x y 時,不斷迴圈 裡面主要構成是4個迴圈,分別負責,從左到右,從上到下,從右到左,從下...

藍橋杯省賽模擬試題2 螺旋矩陣

問題描述 對於乙個 n 行 m 列的 我們可以使用螺旋的方式給 依次填上正整數,我們稱填好的 為乙個螺旋矩陣。例如,乙個 4 行 5 列的螺旋矩陣如下 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8 輸入格式 輸入的第一行包含兩個整數 n,m,分...