蛇形填数
来源:互联网 发布:徐老师的淘宝店叫什么 编辑:程序博客网 时间:2024/06/05 10:50
问题描述:根据输入的n,打出一个N*N的蛇形数
例如,4*4的
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
思路:就是把1~n*n的数填到一个二维数组里,从a[0][n-1]的位置开始填,先向下,直到超界或者下一个位置已经有数了,才开始转变方向。
#include<stdio.h>
#include<string.h>
int main()
{
int n,a[100][100];
int x,y,m;
memset(a,0,sizeof(a));
scanf("%d",&n);
x=0;
y=n-1;
m=a[x][y]=1;
while(m<n*n)
{
while(x+1<n&&!a[x+1][y])
a[++x][y]=++m;
while(y-1>=0&&!a[x][y-1])
a[x][--y]=++m;
while(x-1>=0&&!a[x-1][y])
a[--x][y]=++m;
while(y+1 &&!a[x][y+1])
a[x][++y]=++m;
}
for(x=0;x<n;x++)
{
for(y=0;y<n;y++)
printf("\t%d",a[x][y]);
printf("\n");
}
return 0;
}
0 0
- 蛇形填数
- 算法:蛇形填数
- 蛇形填数
- 蛇形填数
- 蛇形填数
- 蛇形填数问题
- 蛇形填数
- C++蛇形填数
- 蛇形填数
- 蛇形填 数
- 蛇形填数
- NYOJ - 蛇形填数
- 蛇形填数
- 各种蛇形填数
- 蛇形填数
- 蛇形填数
- ACM-蛇形填数
- 蛇形填数
- Eclipse配置tomcat
- maven学习系列——(五)maven聚合与继承
- java IO结构详解
- luogup1226取余运算||快速幂(数论)
- leetcode_260. Single Number III 数组中找出两个只出现一次的元素
- 蛇形填数
- 关于连续邮资算法自己的见解
- java编程思想读书笔记 第十九章 枚举类型
- Linux 内核 Makefile 体系简单分析
- 把不规整的CORS站RINEX文件进行统一规整---RuleRinexCatalog.py
- 编程练习题
- Adaboost算法
- HDU 1963 Investment(完全背包)
- 学习网站整理