我是靠谱客的博主 苹果书包,最近开发中收集的这篇文章主要介绍AcWing756. 蛇形矩阵,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

输入两个整数 n 和 m,输出一个 n 行 m 列的矩阵,将数字 1 到 n×m 按照回字蛇形填充至矩阵中。

具体矩阵形式可参考样例。

输入格式

输入共一行,包含两个整数 n 和 m。

输出格式

输出满足要求的矩阵。

矩阵占 n 行,每行包含 m 个空格隔开的整数。

数据范围

1≤n,m≤100

输入样例:

3 3

输出样例:

1 2 3
8 9 4
7 6 5
#include<iostream>
using namespace std;
const int N=110;
int f[N][N];
int main(){
int m,n;
cin>>n>>m;
int dx[]={-1 , 0 , 1 , 0};
int dy[]={0 , 1 , 0 , -1};
int x = 0,y = 0,d = 1;
for(int i = 1;i <= n * m;i++){
f[x][y] = i;
int a = x + dx[d];
int b = y + dy[d];
if(a < 0||a >= n||b < 0||b >= m||f[a][b])//边界判断1.真正意义上的出界2.到了填过数字的位置
{
d = (d + 1) % 4;//到了边界转90°方向
a = x + dx[d];
b = y + dy[d];
}
x = a,y = b;
}
for(int i = 0;i < n; i++){
for(int j = 0;j < m; j++){
cout<<f[i][j]<<" ";
}
cout<<endl;
}
return 0;
}

 

最后

以上就是苹果书包为你收集整理的AcWing756. 蛇形矩阵的全部内容,希望文章能够帮你解决AcWing756. 蛇形矩阵所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部