類似數學中的矩陣,我們可以用乙個所謂的二維陣列來儲存題目中的方陣。此題不要求嚴格輸出格式!
技巧:首先從第乙個數1開始依次填寫。設筆的座標為(x,y),一開始x=0,y=n-1。
還有就是需要進行「預判」,即是否越界,以及如果繼續走下去會不會到達乙個已經填過的格仔。
總的原則就是:先判斷,再移動。
越界只需判斷x+1簡寫成 !a[x+1][y]。
#include#include#define maxn 100int 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 16 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...