样例过了 但是全RE,这怎么回事?

B3662 [语言月赛202209] 山峰

数组开小了且代码错误
by 王轶 @ 2023-08-14 09:38:00


[全是RE](https://www.luogu.com.cn/record/120757476)
by efbuhv @ 2023-08-14 09:38:24


?
by efbuhv @ 2023-08-14 09:38:51


```cpp #include <bits/stdc++.h> using namespace std; int main() { long long n, m; cin >> n >> m; long long a[n * n][m * m], t, x1, y1, x2, y2;//定义数组long long a[n * n][m * m],这里因为如果是1000的话 //它运行不了; memset(a, 0, sizeof(a)); for (long long i = 1; i <= n; i++) { for (long long j = 1; j <= n; j++) { cin >> a[i][j];//输入数组 } } cin >> t; while (t--) { cin >> x1 >> y1 >> x2 >> y2; long long h = a[x1][y1];交换 a[x1][y1] = a[x2][y2]; a[x2][y2] = h; } int dx[] = {-1, 0, 1, 0}; int dy[] = {0, 1, 0, -1};//帮助判断是否是山峰 long long u = 0; bool f = 1; long long ax[n + 1] = {0}, ay[m + 1] = {0}, axi = 1, axj = 1; // for (long long i = 1; i <= n; i++) { // for (long long j = 1; j <= n; j++) { // cout << a[i][j] << " "; // } // cout << "\n"; // } for (long long i = 1; i <= n; i++) { for (long long j = 1; j <= n; j++) { f = 1; for (u = 0; u < 4; u++) { if (a[i + dx[u]][j + dy[u]] >= a[i][j] ) { f = 0;//判断是否是山峰 break; } } if (f) { ax[axi++] = i; ay[axj++] = j;//如果是就存起来 } } } cout << axi << endl; for (long long j = 1; j < axj; j++) { cout << ax[j] << " " << ay[j] << "\n";//输出 } return 0; } ```
by efbuhv @ 2023-08-14 09:45:40


有什么问题私信
by 王轶 @ 2023-08-14 10:12:56


好 谢谢
by efbuhv @ 2023-08-14 10:13:42


|