nyoj 33 蛇形填數 迴圈 陣列

2021-07-04 23:30:24 字數 730 閱讀 9675

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度: 3

描述 在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為:

10 11 12 1

9 16 13 2

8 15 14 3

7 6 5 4

輸入直接輸入方陳的維數,即n的值。(n<=100)

輸出輸出結果是蛇形方陳。

樣例輸入

3

樣例輸出

7 8 1

6 9 2

5 4 3

**演算法經典

上傳者首席執行官

思路:通過while迴圈來控制走向(下,左,上,右),並將每一步的結果(結果從1開始)儲存到陣列a中,然後再統一的輸出結果!

**:#include #include int a[105][105];

int main()

{ int n;

while(scanf("%d",&n)!=eof)

{ memset(a,0,sizeof(a));

int x=0,y=n-1,t=1;

a[x][y]=1;

while(t=0&&!a[x][y-1]) a[x][--y]=++t;

while(x-1>=0&&!a[x-1][y]) a[--x][y]=++t;

while(y+1

NYOJ 33 蛇形填數

類似數學中的矩陣,我們可以用乙個所謂的二維陣列來儲存題目中的方陣。此題不要求嚴格輸出格式!技巧 首先從第乙個數1開始依次填寫。設筆的座標為 x,y 一開始x 0,y n 1。還有就是需要進行 預判 即是否越界,以及如果繼續走下去會不會到達乙個已經填過的格仔。總的原則就是 先判斷,再移動。越界只需判斷...

NYOJ33 蛇形填數

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 在n n方陳裡填入1,2,n n,要求填成蛇形。例如n 4時方陳為 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 輸入直接輸入方陳的維數,即n的值。n 100 輸出輸出結果是蛇形方陳。樣例輸入 3...

nyoj33 蛇形填數

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 在n n方陳裡填入1,2,n n,要求填成蛇形。例如n 4時方陳為 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 輸入直接輸入方陳的維數,即n的值。n 100 輸出輸出結果是蛇形方陳。樣例輸入 3...