NYPJ 蛇形填数
来源:互联网 发布:数据挖掘 面试 编辑:程序博客网 时间:2024/06/05 21:49
蛇形填数
时间限制: 3000ms
内存限制: 128000KB
64位整型: Java 类名:上一题
提交 运行结果 统计 讨论版
下一题题目描述
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
输入
直接输入方陈的维数,即n的值。(n<=100)
输出
输出结果是蛇形方陈。
样例输入
3
样例输出
7 8 16 9 25 4 3
来源
NYOJ
#include<stdio.h>#include<string.h>
int main()
{
int a[110][110],sum,i,j,s,k,n;
int book[110][110];
while(~scanf("%d",&n))
{
memset(book,0,sizeof(book));
k=n-1;sum=1; //正方形看成圈,k表示圈,
while(sum<=n*n) //四个for循环分别表示
{
for(i=0; i<n; i++) //右边,自上而下
if(book[i][k]==0)
{a[i][k]=sum++;book[i][k]=1;}
for(i=n-1;i>=0;i--) //下边 ,自右向左
if(book[k][i]==0)
{a[k][i]=sum++;book[k][i]=1;}
for(i=n-1;i>=0;i--) //左边 ,自下而上
if(book[i][n-k-1]==0)
{a[i][n-k-1]=sum++; book[i][n-k-1]=1;}
for(i=0;i<n;i++)
if(book[n-k-1][i]==0) //上边 ,自左向右
{ a[n-k-1][i]=sum++; book[n-k-1][i]=1;}
k--; //依次 剥减 向内
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
return 0;
}
// 仔细看规律 看数字是怎样依次向加
0 0
- NYPJ 蛇形填数
- 蛇形填数
- 算法:蛇形填数
- 蛇形填数
- 蛇形填数
- 蛇形填数
- 蛇形填数问题
- 蛇形填数
- C++蛇形填数
- 蛇形填数
- 蛇形填 数
- 蛇形填数
- NYOJ - 蛇形填数
- 蛇形填数
- 各种蛇形填数
- 蛇形填数
- 蛇形填数
- ACM-蛇形填数
- 在线黑科技小工具
- MySQL实验(三) 过程式数据库对象的使用
- java.util.Date和java.sql.Date的区别和相互转化
- 百练_3671字符串排序
- [勇者闯LeetCode] 110. Balanced Binary Tree
- NYPJ 蛇形填数
- 腾讯面经:错过校招的我如何在社招进入鹅厂
- 学习MVC之租房网站(五)-权限、角色、用户管理
- 绘制人物属性的六芒星
- 水晶报表中让行高自适应高度(即根据内容的来适应高度)
- Rmi远程调用机制
- Java设计模式《七》模板方法模式
- Linux下which、whereis、locate、find 命令的区别
- <a>标签不跳转的几种实现方式