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