NYOJ 33 蛇形填數

2021-06-22 17:52:44 字數 872 閱讀 7061

類似數學中的矩陣,我們可以用乙個所謂的二維陣列來儲存題目中的方陣。此題不要求嚴格輸出格式!

技巧:首先從第乙個數1開始依次填寫。設筆的座標為(x,y),一開始x=0,y=n-1。

還有就是需要進行「預判」,即是否越界,以及如果繼續走下去會不會到達乙個已經填過的格仔。

總的原則就是:先判斷,再移動。

越界只需判斷x+1簡寫成  !a[x+1][y]。

#include#include#define maxn 100

int a[maxn][maxn];

int main()

{ int n,x,y,tot = 0;

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

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

tot=a[x=0][y=n-1]=1;

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

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

while(y+1

時間限制:

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

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...

NYOJ 33 蛇形填數

時間限制 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...