题目1465:蓝桥杯基础练习VIP-回形取数

#include<iostream>

using namespace std;

int a[201][201];//存储矩阵

int b[41000];//存储结果

int vis[201][201];//标记是否访问过

int dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}};//方向:下右上左

int main(){

int m,n;

int d=0,t=0;//t记录数值的索引,d方向索引

int x,y,tx,ty;

cin>>m>>n;

x=y=1;//从第一行第一列开始

//读取矩阵

for(int i=1;i<=m;i++){

for(int j=1;j<=n;j++){

cin>>a[i][j];

}

}

//进行螺旋式遍历

for(int i=1;i<=m*n;i++){

tx=x+dir[d][0];

ty=y+dir[d][1];

if(tx<1||tx>m||ty<1||ty>n||vis[tx][ty]==1){//碰到边界需要转弯

d=(d+1)%4;

}

b[t++]=a[x][y];

vis[x][y]=1;

x+=dir[d][0];

y+=dir[d][1];

}

for(int i=0;i<m*n;i++){

cout<<b[i]<<" ";

}

return 0;

}

相关推荐
Hag_201 小时前
LeetCode Hot100 15.三数之和
算法·leetcode·职场和发展
俩娃妈教编程2 小时前
洛谷选题:P1307 [NOIP 2011 普及组] 数字反转
c++·算法
枫叶丹42 小时前
【Qt开发】Qt界面优化(三)-> Qt样式表(QSS) 设置方式
c语言·开发语言·c++·qt·系统架构
laplace01232 小时前
浮点数精度
人工智能·算法·agent·qwen
blackicexs2 小时前
第四周第五天
数据结构·算法
重生之后端学习2 小时前
98. 验证二叉搜索树
java·数据结构·后端·算法·职场和发展
菜鸡儿齐2 小时前
leetcode-移动零
数据结构·算法·leetcode
Better Rose2 小时前
【2026蓝桥杯】备赛计划(2个月速成版)
职场和发展·蓝桥杯
紫陌涵光2 小时前
54. 替换数字(第八期模拟笔试)
数据结构·c++·算法