数组开小了且代码错误
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