Acwing756. 蛇形矩阵:模拟
生活随笔
收集整理的这篇文章主要介绍了
Acwing756. 蛇形矩阵:模拟
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 题目分析
- 题目链接
题目分析
所谓蛇形走位就是 螺旋形走位。
比如
模拟:需要知道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. 蛇形矩阵
总结
以上是生活随笔为你收集整理的Acwing756. 蛇形矩阵:模拟的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Leetcode1686. 石子游戏 V
- 下一篇: Acwing900. 整数划分[计数类d