NYOJ 33 蛇形填數 思維 迴圈

2021-08-07 10:30:26 字數 729 閱讀 4164

時間限制:

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

程式如下:

#include#includeusing namespace std;

int main()

{ int n;

scanf("%d",&n);

int a[n][n];

memset(a,0,sizeof(a)); //全部初始化為0,方便標記;

int k=1;

int x=0,y=n-1;

a[x][y]=1; //起始位置為1;

while(k=0) //左

a[x][--y]=++k;

while(a[x-1][y]==0&&x-1>=0) //上

a[--x][y]=++k;

while(a[x][y+1]==0&&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...