40分求助

B3662 [语言月赛202209] 山峰

@[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


|