0 Runtime Error
-------------------- Segmentation fault. #0 0x0000000000401398 in main () at foo.cc:21 21 a[h][l] = k++;
# | 状态 分数 | 耗时 | 内存占用 |
---|---|---|---|
#1 | Runtime Error 0 | 3ms | 288 KiB |
#2 | Runtime Error 0 | 3ms | 536 KiB |
#3 | Runtime Error 0 | 3ms | 552 KiB |
#4 | Runtime Error 0 | 3ms | 552 KiB |
#5 | Runtime Error 0 | 3ms | 536 KiB |
#6 | Runtime Error 0 | 3ms | 536 KiB |
#7 | Runtime Error 0 | 3ms | 288 KiB |
#8 | Wrong Answer 0 | 3ms | 320 KiB |
#9 | Runtime Error 0 | 2ms | 536 KiB |
#10 | Wrong Answer 0 | 2ms | 536 KiB |
代码
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int N;
cin >> N; // 输入方阵的边长N
int a[N][N]; // 创建N×N的二维数组
int k = 1; // 用于填充方阵的计数器
int h = 0, l = 0; // 行和列的起始位置
int hy = 0; // 用于记录已经填充的行数
for (int i = 0; i < N; i++) {
h = N - hy; // 当前行位置为N-hy
l = 0; // 列位置从0开始
for (; l != N; l++) { // 填充当前行的元素
a[h][l] = k++;
}
l--; // 回到当前行的最后一个元素
for (; h != N; h++) { // 填充当前列的元素
a[h][l] = k++;
}
hy++; // 更新已填充的行数
}
// 输出方阵
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << setw(4) << a[i][j]; // 设置宽度为4并输出元素
}
cout << endl; // 每填满一行后换行
}
return 0;
}
信息
- 递交者
- 题目
- P369 练63.3 迂回方阵
- 语言
- C++14
- 代码长度
- 756 Bytes
- 递交时间
- 2025-1-10 16:50:00
- 评测时间
- 2025-1-10 16:50:03
- 分数
- 0
- 总耗时
- 28ms
- 峰值时间
- 3ms
- 峰值内存
- 552 KiB