3-3蛇形填数
来源:互联网 发布:怎么下载淘宝软件 编辑:程序博客网 时间:2024/06/05 09:30
在n*n的方阵里填入1,2,...,n*n (n<=8),要求填成蛇形。
思路:定义二维数组,用0填满,控制输出。
例如n=4时的方阵为:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
程序:
#include <iostream>#include <cstring>const int maxn = 20;using namespace std;int main(){int a[maxn][maxn];int n, x, y,sum=0;cin >> n;memset(a, 0, sizeof(a));sum=a[x=0][y=0]=1;while (sum<n*n){while (y+1<n&&!a[x][y+1]) a[x][++y]=++sum;//必须为++sum;while (x+1<n&&!a[x+1][y]) a[++x][y]=++sum;while (y-1>=0&&!a[x][y-1])a[x][--y]=++sum;while (x-1>=0&&!a[x-1][y])a[--x][y]=++sum;}for (x=0;x<n;x++){for (y=0;y<n;y++)cout<<a[x][y]<<" ";cout<<endl;}return 0;}
思路:定义二维数组,用0填满,控制输出。
关于4个while:由边界条件判断停止输出。若a[][]==0则输入,简写为!a[x+1][y]。
0 0
- 3-3蛇形填数
- 【3-1 蛇形填数】
- 3-2蛇形填数
- 程序3-3 蛇形填数
- 程序3-3 蛇形填数
- 例题3-2 蛇形填数
- 算法竞赛入门经典 例3-2蛇形填数
- 算法竞赛入门 例题3-2 蛇形填数P35
- 算法竞赛入门经典 例题 3-2 蛇形填数
- 蛇形填数
- 算法:蛇形填数
- 蛇形填数
- 蛇形填数
- 蛇形填数
- 蛇形填数问题
- 蛇形填数
- C++蛇形填数
- 蛇形填数
- linux链接自己编写的动态库
- 机器学习笔记_数学基础_5-矩阵理论_续1_QR分解
- 认识yield
- c++中switch语句的使用问题
- MyFirst程序详解
- 3-3蛇形填数
- 各种同步锁的区别
- Thread.UncaughtExceptionHandler(为每一个Thread对象加一个异常处理器)
- HYSBZ 1036 树的统计Count
- classpath、path、JAVA_HOME的作用
- fresco使用文档地址
- linux文件操作
- VS2013 舒服的字体设置和背景色
- 第1章 程序设计入门