时间限制: 1000 ms 内存限制: 65536 KB
提交数: 19655 通过数: 11038
【题目描述】
在n×nn×n方阵里填入1,2,3,…,n×n1,2,3,…,n×n,要求填成蛇形。例如n=4n=4时方阵为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
其中,n≤20n≤20。
【输入】
输入nn。
【输出】
输出题述方阵。nn行,每行各数之间用一个空格隔开。
【输入样例】
4
【输出样例】
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
csdsb666 是手笔
#include<iostream>
using namespace std;
int main()
{
int a[100][100]={};
int n,x,y,c;
cin>>n;
x=0,y=n;
c=1;
while(c<=n*n)
{
while(a[x+1][y]==0 && x+1<=n)
{
x++;
a[x][y]=c;
c++;
}
while(a[x][y-1]==0 && y-1>0)
{
y--;
a[x][y]=c;
c++;
}
while(a[x-1][y]==0 && x-1>0)
{
x--;
a[x][y]=c;
c++;
}
while(a[x][y+1]==0 && y+1<=n)
{
y++;
a[x][y]=c;
c++;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<a[i][j];
cout<<" ";
}
cout<<endl;
}
return 0;
}