1-m*n循环填数(用标记数组)blibli2018秋招第三题一个类型
2024-09-22 09:52:34
#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
const int maxn=;
int a[maxn][maxn];
bool vis[maxn][maxn]={false};//是否访问数组 int main ()
{
int m,n;//m行n列的矩阵
int i,j;
int cnt=;//计算输出元素个数
cin>>m>>n; i=;j=;//初始化起点坐标
while(cnt<n*m)
{
while(j<n&&!vis[i][j])//turn right
{
cnt++;a[i][j]=cnt;
vis[i][j]=true;
j++;
}i++;j--;//和之前我写1-n*n填数是一样的 while(i<m&&!vis[i][j])//turn down
{
cnt++;a[i][j]=cnt;
vis[i][j]=true;
i++;
}i--;j--; while(j>=&&!vis[i][j])//turn left
{
cnt++;a[i][j]=cnt;
vis[i][j]=true;
j--;
}i--;j++; while(i>=&&!vis[i][j])//turn up
{
cnt++;a[i][j]=cnt;
vis[i][j]=true;
i--;
}i++;j++; }
for(int i=;i<m;i++){
for(j=;j<n;j++){
if(j<n-)
printf("%2d ",a[i][j]);
else
printf("%2d\n",a[i][j]); }
} }
最新文章
- About “this” of Javascript
- Java 组播
- centos7时间同步和时区设置
- 字符串匹配--Karp-Rabin算法
- 【转】Paxos算法深入分析
- cf472B Design Tutorial: Learn from Life
- [More Effective C++]条款22有关返回值优化的验证结果
- Jquery对复选框CheckBox的操作
- 张高兴的 Windows 10 IoT 开发笔记:红外温度传感器 MLX90614
- Win10系列:C#应用控件进阶4
- 洛谷题解 P1315 【观光公交】
- Visual Studio 2017 密匙
- 查找xml中的接口名及涉及表名并输出
- kafka生产者和消费者
- Linux网络编程---htons函数的使用
- ASP.NET Core 装X利器SignalR:电子画板
- nRF52832 改变ATT_MTU提高蓝牙数据发送速率(nRF5_SDK_14.2.0)
- (五)HttpClient 连接超时及读取超时
- C++报错集锦
- 使用子查询可提升 COUNT DISTINCT 速度 50 倍
热门文章
- HDU 3081 Marriage Match II (二分+网络流+并查集)
- WinForm开发(3)——使用vs2017打包winform安装程序的过程
- 吴裕雄--天生自然Numpy库学习笔记:NumPy Ndarray 对象
- 取消Oracle数据库密码期限 取消用户锁定
- 【原】Django问题总结
- Python中利用for表达式创建列表
- 树莓派4B踩坑指南 - (7)root账户及权限设置
- 使用IDEA导入一个Maven风格的SSM项目
- 「luogu3402」【模板】可持久化并查集
- 怎么修改Anaconda 中 jupyter notebook 文件的保存位置