社区讨论
10分告急!!!!求调,玄关。外旋矩阵
题目总版参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @m0exoa1x
- 此快照首次捕获于
- 2024/08/29 14:58 2 年前
- 此快照最后确认于
- 2025/11/04 22:06 4 个月前
using namespace std;
const int MAXN = 10005;
int main() {
int n, m, r, c;
cin >> n >> m;
cin >> r >> c;
int dx[4] = {0, +1, 0, -1};
int dy[4] = {+1, 0, -1, 0};
int a[MAXN][MAXN] = {0};
int num = 1;
a[r][c] = num;
int x = r, y = c;
int cnt = 1;
while (num < n * m) {
for (int k = 0; k < 4; k++) {
int len = (cnt - 1) / 2 + 1;
for (int l = 1; l <= len; l++) {
x += dx[k];
y += dy[k];
if (x >= 1 && x <= n && y >= 1 && y <= m) {
++num;
a[x][y] = num;
}
}
++cnt;
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cout << a[i][j] ;
}
cout << endl;
}
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...