60分求调
查看原帖
60分求调
1610230
John_Code楼主2025/1/27 15:01

这代码想了半天不知道错哪里了,编辑器里写了几组数据都是对的,数据不知道怎么下不了,以下是代码:

#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;
}
2025/1/27 15:01
加载中...