SDUSTOJ 1184 蛇形填陣

2021-08-13 22:50:15 字數 1099 閱讀 4272

description

將1~n*n填入乙個n*n的矩陣中,並要求成為蛇形。蛇形即是從右上角開始向下,向左,向上,向右,迴圈填入數字。

比如n=5時矩陣為:

13 14 15 16 1

12 23 24 17 2

11 22 25 18 3

10 21 20 19 4

9 8 7 6 5

input

輸入有多行,每行為乙個整數n(1<=n<=50),每組答案用空行隔開。

output

輸出乙個n*n的矩陣,n行n列每個數字用乙個空格隔開,不能有多餘空格。

sample input

5sample output

13 14 15 16 1

12 23 24 17 2

11 22 25 18 3

10 21 20 19 4

9 8 7 6 5

紫書上講過這個蛇形填數的題目

從1開始依次填寫。設「筆」的座標為(x,y),則一開始x=0,y=n-1,即第0行,第n-1列(行列的範圍是0~n-1,沒有第n列)。「筆」的移動軌跡是:下,下,下,左,左,左,上,上,上,右,右,下,下,左,上。總之,先是下,到不能填為止,然後是左,接著是上,最後是右。「不能填」是指再走就出界(例如4→5),或者再走就要走到以前填過的格仔(例如12→13)。如果把所有格仔初始化為0,就能很方便地加以判

#include 

#include

#include

#define maxn 50+10

int a[maxn][maxn];

void putarray( int s[maxn][maxn], int n )

puts("");

}}int main()

putarray(a,n);

}return

0;}

C語言小訓 1184 蛇形填陣

將1 nn填入乙個nn的矩陣中,並要求成為蛇形。蛇形即是從右上角開始向下,向左,向上,向右,迴圈填入數字。比如n 5時矩陣為 13 14 15 16 1 12 23 24 17 2 11 22 25 18 3 10 21 20 19 4 9 8 7 6 5 輸入有多行,每行為乙個整數n 1 n 50...

C 蛇形填數

蛇形填數 問題描述 在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 輸出輸出結果是蛇形方陳。問題分析 我們定義乙個二維陣列,開始x 0,y n 1,即第一行...

NYoj 蛇形填數

描述 在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 ...