题目33 蛇形填数
2016-07-28 12:02
211 查看
已AC代码:
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n;
while(scanf("%d", &n) != EOF)
{
int a
, top=1, x, y;
x = -1;
y = n-1;
memset(a, 0, sizeof(a));
while(top <= n*n)
{
while(x<n-1 && !a[x+1][y]) a[++x][y] = top++;
while(y>0 && !a[x][y-1]) a[x][--y] = top++;
while(x>0 && !a[x-1][y]) a[--x][y] = top++;
while(y<n && !a[x][y+1]) a[x][++y] = top++;
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
return 0;
}
相关文章推荐
- 题目31 5个数求最值
- 题目25 A Famous Music Composer
- 题目13 Fibonacci数
- 题目11 奇偶数分离
- 题目171 聪明的kk
- 题目71 独木舟上的旅行
- 题目6 喷水装置(一)
- 题目106 背包问题
- 题目4 ASCII码排序
- 三点顺序_nyoj_68(计算几何).java
- 多边形重心问题_nyoj_3(计算几何).java
- 单调递增子序列(二)_hdu_214(dp).java
- 题目34 韩信点兵
- 题目39 水仙花数
- 题目40 公约数和公倍数
- 题目56 阶乘因式分解(一)
- 题目57 6174问题
- 题目60 谁获得了最高奖学金
- 题目62 笨小熊
- 题目64 鸡兔同笼