nyoj33
来源:互联网 发布:知乎 武林风 编辑:程序博客网 时间:2024/06/02 04:21
蛇形填数
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=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
- 来源
- 算法经典
- 上传者
- 首席执行官
开始做的时候一点思路都没有,后来才想起来
#include<stdio.h>int main(){ int n,m,i,j; int a[101][101]; scanf("%d",&n); m=0; a[1][n]=1; for(i=1; i<n; i++) { //向上走 for(j=m+1; j<=(n-m); j++) { if(j==1) a[1][n-m]=1; else a[j][n-m]=a[j-1][n-m]+1; //printf("%d %d %d\n",j,n-m,a[j][n-m]); } //向左走 for(j=n-m-1; j>m; j--) { a[n-m][j]=a[n-m][j+1]+1; // printf("%d %d %d\n",n-m,j,a[n-m][j]); } //向上走 for(j=n-m-1; j>m; j--) { a[j][m+1]=a[j+1][m+1]+1; // printf("%d %d %d\n",j,m+1,a[j][m+1]); } //向右走 for(j=m+2; j<n-m; j++) { a[m+1][j]=a[m+1][j-1]+1; // printf("%d %d %d\n",m+1,j,a[m+1][j]); } m++; } for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { if(j!=n) printf("%d ",a[i][j]); else printf("%d\n",a[i][j]); } }}
0 0
- nyoj33
- nyoj33蛇形填数
- NYOJ33蛇形填数
- nyoj33蛇形填数
- nyoj33蛇形填数
- NYOJ33 蛇形填数
- nyoj33蛇形填数
- 蛇形填数(nyoj33)
- nyoj33 蛇形填数
- nyoj33蛇形填数
- NYOJ33--蛇形填数
- NYOJ33 - 蛇形填数
- NYOJ33 蛇形填数
- NYOJ33: 蛇形填数【规律】
- android属性动画与补间动画的区别及用法
- JS-正则表达式2
- Xcode使用xcconfig文件配置环境
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- 使用autoit删除pdf文件水印
- nyoj33
- Android自定义控件:仿美团下拉菜单及相关代码优化
- startActivityForResult用法详解
- storm笔记
- HDOJ 1214 圆桌会议
- linux条件变量
- MongoDB 副本集配置
- tomcat相关配置
- 安装Git 创建本地版本库版本库,文件上传,远程仓库的管理