#include<iostream>
#include<vector>
#include<iomanip>
using namespace std;
int main() {
int m, n;
int num = 1;
int flag = 1;
cin >> m >> n;
int x = 0, y = n - 1;
vector<vector<int>> arr(m, vector<int>(n, 0));
for(int i = 0; i < m * n; i++) {
arr[x][y] = num++;
if(flag == 1) {
if(x < m - 1 && arr[x + 1][y] == 0) {
x++;
} else {
flag = 2;
y--;
}
} else if(flag == 2) {
if(y > 0 && arr[x][y - 1] == 0) {
y--;
} else {
flag = 3;
x--;
}
} else if(flag == 3 ) {
if(x > 0 && arr[x - 1][y] == 0) {
x--;
} else {
flag = 4;
y++;
}
} else if(flag == 4) {
if(y < n - 1 && arr[x][y + 1] == 0) {
y++;
} else {
flag = 1;
x++;
}
}
}
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
printf("%5d", arr[i][j]);
}
cout << endl;
}
return 0;
}
0 回复
0 转发
0 喜欢
1 阅读



