蛇形填shu
2016-04-10 15:44
253 查看
#include<iostream>
using namespace
std;
int s[100][100];
int main()
{
memset(s,0,sizeof(s));
int m,n;
cin>>m>>n;
int cnt=s[0][0]=1;;
int r=0,c=0;
while(cnt!=m*n)
{
while(c+1<n&&!s[r][c+1])
{s[r][++c]=++cnt;}
while(r+1<m&&!s[r+1][c])
{s[++r][c]=++cnt;}
while(c-1>=0&&!s[r][c-1])
{s[r][--c]=++cnt;}
while(r-1>=0&&!s[r-1][c])
{s[--r][c]=++cnt;}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
printf("%3d",s[i][j]);
}
cout<<endl;
}
return
0;
}
using namespace
std;
int s[100][100];
int main()
{
memset(s,0,sizeof(s));
int m,n;
cin>>m>>n;
int cnt=s[0][0]=1;;
int r=0,c=0;
while(cnt!=m*n)
{
while(c+1<n&&!s[r][c+1])
{s[r][++c]=++cnt;}
while(r+1<m&&!s[r+1][c])
{s[++r][c]=++cnt;}
while(c-1>=0&&!s[r][c-1])
{s[r][--c]=++cnt;}
while(r-1>=0&&!s[r-1][c])
{s[--r][c]=++cnt;}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
printf("%3d",s[i][j]);
}
cout<<endl;
}
return
0;
}
相关文章推荐
- 【蓝桥杯】【基础练习07】【特殊的数字】
- a5d2 phy驱动
- 信号通讯
- 最近改完的富文本编辑器
- Bmob代码解读1-快速接入
- struts2 action
- 安装带有Kinfu和GPU并行运算版本的PCL
- 【Android基础】文件操作
- 进程
- 管道通讯
- 【python日常一】使用python抓取拉勾网职位信息并做简单统计分析
- 对jQuery的事件绑定的一些思考
- 使用adb shell下查看sqlite数据库
- LeetCode *** 14. Longest Common Prefix
- linux系统编程 - 文件复制程序
- 【java】关于static关键字在重写父类方法时的作用
- Got an exception - Unexpected character 0xfeff in identifier
- Fragment专辑(二):Fragment的简单用法
- Linux应用编程- 程序地址布局 动态库 静态库
- could only be replicated to 0 nodes, instead of 1