10 Wrong Answer
# | 状态 分数 | 耗时 | 内存占用 |
---|---|---|---|
#1 | Wrong Answer 0 | 1ms | 412 KiB |
#2 | Wrong Answer 0 | 1ms | 520 KiB |
#3 | Wrong Answer 0 | 1ms | 288 KiB |
#4 | Wrong Answer 0 | 1ms | 548 KiB |
#5 | Wrong Answer 0 | 1ms | 288 KiB |
#6 | Wrong Answer 0 | 1ms | 548 KiB |
#7 | Wrong Answer 0 | 1ms | 288 KiB |
#8 | Wrong Answer 0 | 1ms | 552 KiB |
#9 | Wrong Answer 0 | 1ms | 320 KiB |
#10 | Accepted 10 | 1ms | 288 KiB |
代码
#include <stdio.h>
#define MAXN 18
int main() {
int n;
int matrix[MAXN][MAXN];
// 读取方阵的大小
scanf("%d", &n);
// 初始化方阵
int num = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = 0;
}
}
// 填充方阵
int row = 0, col = n - 1;
while (num <= n * n) {
// 向上填充
for (int i = row; i >= 0 && matrix[i][col] == 0; i--) {
matrix[i][col] = num++;
}
// 向右填充
for (int j = col + 1; j < n && matrix[row][j] == 0; j++) {
matrix[row][j] = num++;
}
// 向下填充
for (int i = row + 1; i < n && matrix[i][col] == 0; i++) {
matrix[i][col] = num++;
}
// 向左填充
for (int j = col - 1; j >= 0 && matrix[row][j] == 0; j--) {
matrix[row][j] = num++;
}
// 移动到下一个起始位置
row++;
col--;
}
// 输出方阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%4d", matrix[i][j]);
}
printf("\n");
}
return 0;
}
信息
- 递交者
- 题目
- P369 练63.3 迂回方阵
- 语言
- C
- 代码长度
- 1.1 KiB
- 递交时间
- 2024-11-10 20:29:19
- 评测时间
- 2024-11-10 20:29:22
- 分数
- 10
- 总耗时
- 13ms
- 峰值时间
- 1ms
- 峰值内存
- 552 KiB