@[chenxinrong](/user/902714) 你的b、c数组没有开够大,答案最大可以有 $5 * 10^5$ 个
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1005][1005],b[1000005],c[1000005],p,s; //注意这里
int main(){
int r;
cin >> n >> m;
for(int i = 1;i <= n;i++){
for(int j = 1;j <= m;j++){
cin >> a[i][j];
}
}
int l;
cin >> l;
if(l != 0){
for(int i = 1;i <= l;i++){
int w,x,y,z;
cin >> w >> x >> y >> z;
swap(a[w][x],a[y][z]);
}
}
for(int i = 1;i <= n;i++){
for(int j = 1;j <= m;j++){
if(a[i][j] > a[i][j-1] && a[i][j] > a[i-1][j] && a[i][j] > a[i][j+1] && a[i][j] > a[i+1][j]){
s++;
p++;
b[p] = i;
c[p] = j;
}
}
}
cout << s << endl;
for(int i = 1;i <= p;i++){
cout << b[i] << " " << c[i] << endl;
}
return 0;
}
```
by _XiaY_ @ 2024-02-20 11:42:46
@[_XiaY_](/user/475783) 感谢,已AC
by chenxinrong @ 2024-02-20 12:03:12