3918 - the snake
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
Input
直接输入方陈的维数,即n的值。(n<=100)
Output
输出结果是蛇形方陈。
Examples
Input
3
Output
7 8 1 6 9 2 5 4 3
Solution C++
#include <stdio.h> int main() { int a[100][100],i,j=1,k=0,n,m; scanf("%d",&n); m=n; while(1) { for(i=k;i<n;i++) a[i][n-1]=j++; if(j==m*m+1) break; for(i=n-2;i>=k;i--) a[n-1][i]=j++; for(i=n-2;i>=k;i--) a[i][k]=j++; for(i=k+1;i<n-1;i++) a[k][i]=j++; n--; k++; } for(i=0;i<m;i++) { printf("%d",a[i][0]); for(j=1;j<m;j++) printf(" %d",a[i][j]); printf("\n"); } }