nyoj-33-蛇形添数
来源:互联网 发布:网络牌清明上河图 编辑:程序博客网 时间:2024/04/29 03:25
蛇形填数
时间限制: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 <iostream>#include <iomanip>using namespace std;int main(){ int n,m; int p; cin>>n; m=n; p=n/2+1; int **a; a=new int*[n]; for(int i=0;i<n;i++) a[i]=new int[n]; int kk=n*n; int u=1; int a1=0,a2=n-1; for(int i=0;i<m;i++) for(int j=0;j<m;j++) a[i][j]=0; for(int i=0;i<p;i++){ for(int k=0;k<n-1;k++){ a[a1++][a2]=u++; //cout<<u-1<<" "; //a1++; } //a1++; for(int k=0;k<n-1;k++){ a[a1][a2--]=u++; //cout<<u-1<<" "; //a2--; } //a2--; for(int k=0;k<n-1;k++){ a[a1--][a2]=u++; //cout<<u-1<<" "; //a1--; } //a1--; for(int k=0;k<n-1;k++){ a[a1][a2++]=u++; //cout<<u-1<<" "; //a2++; } a1=a1+1; a2=a2-1; n-=2; } for(int i=0;i<m;i++) for(int j=0;j<m;j++) if(a[i][j]==0) a[i][j]=u; for(int i=0;i<m;i++){ for(int j=0;j<m;j++) cout<<a[i][j]<<" "; cout<<endl;}return 0;}
0 0
- nyoj-33-蛇形添数
- NYOJ 33 蛇形填数
- NYoj 33 蛇形填数
- NYOJ-33 蛇形填数
- NYOJ 33 蛇形填数
- NYOJ-蛇形填数-33
- NYOJ 蛇形填数 33
- NYOJ 33-蛇形填数
- NYOJ-33 蛇形填数
- NYOJ 33 蛇形填数
- NYOJ 33 蛇形填数
- NYOJ-33蛇形填数
- NYOJ 33 蛇形填数
- NYOJ-33-蛇形填数
- nyoj 33 蛇形填数
- nyoj 33 蛇形填数
- NYOJ-33 蛇形填数
- NYOJ 33 蛇形填数
- hdu1875kruskal简单应用。
- HDU3339--In Action(最短路+0-1背包)
- Visual Studio 2008使用知识点
- 23种设计模式的总结
- 服务器推技术comet的pushlet实现
- nyoj-33-蛇形添数
- PB连接非默认实例
- Ubuntu 12.04 : “The system network services are not compatible with this version”
- nyoj-40-公约数和公倍数
- 今日温故知新之比大小注意的地方
- Web服务器性能监控分析与优化
- POJ 3352 Road Construction
- 一个线上订餐系统的设计(持续更新)
- Linux下实现聊天室