跟leetcode的 54. 螺旋矩阵 相似
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> vec(n, vector<int>(m, 0));
int top = 0, left = 0, buttom = n - 1, right = m - 1;
int count = 1;
while (left <= right && top <= buttom) {
for (int i = left; i <= right; ++i) {
vec[top][i] = count++;
}
for (int i = top + 1; i <= buttom; ++i) {
vec[i][right] = count++;
}
if (left < right && top < buttom) {
for (int i = right - 1; i >= left; --i) {
vec[buttom][i] = count++;
}
for (int i = buttom - 1; i > top; --i) {
vec[i][left] = count++;
}
}
++left;
--right;
++top;
--buttom;
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
cout << vec[i][j] << " ";
}
cout << endl;
}
return 0;
}