AcWing 756. 蛇形矩阵
原题链接
简单
作者:
我要出去乱说
,
2021-01-17 14:54:22
,
所有人可见
,
阅读 447
#include <cstdio>
const int N = 105;
int a[N][N];
int main()
{
int n, m;
scanf("%d%d", &n, &m);
int k = 1;
int l = 0, r = m - 1, t = 0, b = n - 1;
while (l <= r && t <= b)
{
for (int i = l; i <= r; i ++ ) a[t][i] = k ++ ;
for (int i = t + 1; i <= b; i ++ ) a[i][r] = k ++ ;
for (int i = r - 1; i >= l && t < b; i -- ) a[b][i] = k ++ ;
for (int i = b - 1; i > t && l < r; i -- ) a[i][l] = k ++ ; //最后是i > t 易错点
l ++ , r -- , t ++ , b -- ;
}
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j < m; j ++ )
{
printf("%d ", a[i][j]);
}
puts("");
}
return 0;
}