作者:
星瑞
,
2021-01-12 18:45:04
,
阅读 3
#include<bits/stdc++.h>
using namespace std;
int n, m;
int cnt=1;
int a[505][505];
signed main()
{
cin >> n >> m;
int x = 1, y = 0;
while (cnt <= n*m)
{
for (int i = 0; cnt<=n*m&&i < m; i++)
{
if (!a[x][y + 1])
a[x][++y] = cnt++;
}
for (int i = 0; cnt <= n * m&&i < n-1; i++)
{
if (!a[x+1][y])
a[++x][y] = cnt++;
}
for (int i = 0; cnt <= n * m&&i < m-1; i++)
{
if (!a[x][y-1])
a[x][--y] = cnt++;
}
for (int i = 0; cnt <= n * m&&i < n-2; i++)
{
if (!a[x - 1][y])
a[--x][y] = cnt++;
}
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
cout << a[i][j] << ' ';
cout << endl;
}
}