程序地带

Acwing756. 蛇形矩阵:模拟



文章目录
题目分析题目链接


题目分析

所谓蛇形走位就是 螺旋形走位。 比如


1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

在这里插入图片描述


模拟:需要知道4个偏移量,同时需要注意是顺时针更改方向,比如从右转向下就是偏移量从(0,1)变成(1,0)。此外,需要注意边界条件。


int dx[4] = { 0, 1, 0, -1},dy[4] = { 1, 0 , -1 ,0}; //偏移量

ac代码


#include<bits/stdc++.h>
using namespace std;
const int N = 110;
int n,m;
int q[N][N];
int main(){
cin>>n>>m;
int dx[4] = { 0, 1, 0, -1},dy[4] = { 1, 0 , -1 ,0}; //偏移量
int x = 0 , y = 0 ,d =0; //d用来控制方向
for(int i=1;i<= n* m ; i++){
q[x][y] = i ;
int a= x + dx[d] , b = y + dy[ d]; //沿当前方向走下一个格子坐标
// 边界或者之前遍历过,就转向
if(a <0 || a>= n || b<0 ||b>= m ||q[a][b]){
d=(d+1) %4; //转向
a= x +dx[d] ,b = y +dy[d];
}
x= a, y =b;
//cout<<a<<" "<<b<<endl;
}
for(int i=0;i< n; i++) {
for(int j=0;j<m;j++)
cout<< q[i][j]<<" ";
cout<<endl;
}
}
题目链接

Acwing756. 蛇形矩阵


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shizheng_Li/article/details/112689418

随机推荐

所属的用户_信用卡怎么还款?(写给小白用户)

信用卡花钱比较爽,还钱的时候可就不爽了。但还是要还款的,信用卡的还款方式随着社会的发展也越来越多。那么信用卡如何还款呢?今天就来给大家普及一下信用卡的还款方式...

藏漂老白 阅读(529)

怎样在vscode上配置python(流程简述)

一、大前提此处默认兄弟装好了vscode, 接下来让我们去python官网下载一个符合自己电脑位数的python目标(此处默认兄弟下好了,并且装在盘里...

菜鸟码农黑羽 阅读(558)

百度文字转语音Api,文字长度限制问题

百度合成语音接口,文字内容长度限制,纯汉字不得超过2048个(不包含任何其他字符,否则报错) 百度语音合成接口使用,就不再累赘,去参考这个博主的...

NatChan 阅读(632)

想找个这样的男朋友,要求高吗?

看到微博上有个帖子,还挺火的,在不少群里也有转发。大意就是,有一个女孩想找一个深圳的对象。条件如下:需要28-38岁,正当工作且年...

queen red 阅读(210)

Web3D编辑器Stone教程:如何使用资源库导入免费在线模型

Stone工具最新版本实现了资源库功能,资源目前支持图片、视频、音频、材质和模型这5种类型。材质可以直接拖拉到实体上即可应用。模型通过双击即可加载到场景中,需注意模型的大小...

陈小峰_iefreer 阅读(320)

C4D素材背景模板|广泛应用电商场景和展览的运用

随着3D的普及,现在越来越多的电商开始使用3D作为视觉输出。作为电商购物节的海报,有效立体空间中展示产品,突出卖点即可以达到目的。文字排版突出文案内容...

awayaya1 阅读(170)