#include<stdio.h>
main()
{
int s[110][110],a=0,m=1,i=0,n,b,j,c;
scanf("%d",&n);
b=n-1,j=n-1,c=n;
for(;;n--)
{
for(;i<n-1;i++)
{
s[i][j]=m;
m++;
}
for(;j>a;j--)
{
s[i][j]=m;
m++;
}
for(;i>a;i--)
{
s[i][j]=m;
m++;
}
for(;j<n-1;j++)
{
s[i][j]=m;
m++;
}
if(s[i][j]==n*n)
break;
else
i++,j--,a++;
}
if(c%2!=0)
s[c/2][c/2]=c*c;
for(i=0;i<=b;i++)
{
for(j=0;j<=b;j++)
{
printf("%d ",s[i][j]);
}
printf("\n");
}
}
运行号 | 用户 | 题目 | 结果 | 时间 | 内存 | 语言 | 提交时间 |
---|---|---|---|---|---|---|---|
843611 | hpu_yw | 蛇形填数 | Accepted | 0 | 232 | C/C++ | 04-29 16:07:56 |