这代码想了半天不知道错哪里了,编辑器里写了几组数据都是对的,数据不知道怎么下不了,以下是代码:
#include<iostream>
using namespace std;
struct Point {
int i;
int j;
void init(int& x, int& y) {
i = x;
j = y;
}
};
Point points[100001][3],hills[100001];
int map[1001][1001];
int main() {
int n, m, t, k = 0, a, b;
cin >> n >> m;
for (int i = 1;i <= n;i++) {
for (int j = 1;j <= m;j++) {
cin >> map[i][j];
}
}
cin >> t;
for(int i = 1;i <= t;i++){
cin >> points[i][0].i >> points[i][0].j >> points[i][1].i >> points[i][1].j;
a = map[points[i][1].i][points[i][1].j];
b = map[points[i][0].i][points[i][0].j];
map[points[i][0].i][points[i][0].j] = a;
map[points[i][1].i][points[i][1].j] = b;
}
for (int i = 1;i <= n;i++) {
for (int j = 1;j <= n;j++) {
if (map[i][j] > map[i][j - 1] && map[i][j] > map[i][j + 1]&&map[i][j] > map[i-1][j]&&map[i][j] > map[i+1][j]) {
k++;
hills[k].init(i, j);
}
}
}
cout << k << endl;
for (int i = 1;i <= k;i++) {
cout << hills[i].i << " " << hills[i].j << endl;
}
return 0;
}