我是靠谱客的博主 苹果书包,这篇文章主要介绍AcWing756. 蛇形矩阵,现在分享给大家,希望可以做个参考。

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

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

输入格式

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

输出格式

输出满足要求的矩阵。

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

数据范围

1≤n,m≤100

输入样例:

复制代码
1
2
3 3

输出样例:

复制代码
1
2
3
1 2 3 8 9 4 7 6 5
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#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.内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部