打表做的,为什么只能输出0?
查看原帖
打表做的,为什么只能输出0?
1044048
Algorithm_ZRF楼主2023/8/29 17:11
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 5;
int n, m, k, x[maxn], y[maxn], o[maxn], p[maxn], cnt;
bool illumination[maxn][maxn];
signed main() {
	cin >> n >> m >> k;
	for (int i = 1; i <= m; ++i) {
		cin >> x[i] >> y[i];
	}
	for (int i = 1; i <= k; ++i) {
		cin >> o[i] >> p[i];
	}
	for (int i = 1; i <= m; ++i) {
		illumination[x[i]][y[i]] = 1;
		if (x[i] - 1 >= 1 && x[i] - 1 <= n)
			illumination[x[i] - 1][y[i]] = 1;
		if (x[i] - 2 >= 1 && x[i] - 2 <= n)
			illumination[x[i] - 2][y[i]] = 1;
		if (x[i] + 1 >= 1 && x[i] + 1 <= n)
			illumination[x[i] + 1][y[i]] = 1;
		if (x[i] + 2 >= 1 && x[i] + 2 <= n)
			illumination[x[i] + 2][y[i]] = 1;
		if (y[i] - 1 >= 1 && y[i] - 1 <= n)
			illumination[x[i]][y[i] - 1] = 1;
		if (y[i] - 2 >= 1 && y[i] - 2 <= n)
			illumination[x[i]][y[i] - 2] = 1;
		if (y[i] + 1 >= 1 && y[i] + 1 <= n)
			illumination[x[i]][y[i] + 1] = 1;
		if (y[i] + 2 >= 1 && y[i] + 2 <= n)
			illumination[x[i]][y[i] + 2] = 1;
		if ((x[i] - 1 >= 1 && x[i] - 1 <= n) || (y[i] + 1 >= 1 && y[i] + 1 <= n))
			illumination[x[i] - 1][y[i] + 1] = 1;
		if ((x[i] + 1 >= 1 && x[i] + 1 <= n) || (y[i] + 1 >= 1 && y[i] + 1 <= n))
			illumination[x[i] + 1][y[i] + 1] = 1;
		if ((x[i] - 1 >= 1 && x[i] - 1 <= n) || (y[i] - 1 >= 1 && y[i] - 1 <= n))
			illumination[x[i] - 1][y[i] - 1] = 1;
		if ((x[i] + 1 >= 1 && x[i] + 1 <= n) || (y[i] - 1 >= 1 && y[i] - 1 <= n))
			illumination[x[i] - 1][y[i] - 1] = 1;
	}
	for (int i = 1; i <= k; ++i) {
		illumination[x[i]][y[i]] = 1;
		if (x[i] - 1 >= 1 && x[i] - 1 <= n)
			illumination[x[i] - 1][y[i]] = 1;
		if (x[i] - 2 >= 1 && x[i] - 2 <= n)
			illumination[x[i] - 2][y[i]] = 1;
		if (x[i] + 1 >= 1 && x[i] + 1 <= n)
			illumination[x[i] + 1][y[i]] = 1;
		if (x[i] + 2 >= 1 && x[i] + 2 <= n)
			illumination[x[i] + 2][y[i]] = 1;
		if (y[i] - 1 >= 1 && y[i] - 1 <= n)
			illumination[x[i]][y[i] - 1] = 1;
		if (y[i] - 2 >= 1 && y[i] - 2 <= n)
			illumination[x[i]][y[i] - 2] = 1;
		if (y[i] + 1 >= 1 && y[i] + 1 <= n)
			illumination[x[i]][y[i] + 1] = 1;
		if (y[i] + 2 >= 1 && y[i] + 2 <= n)
			illumination[x[i]][y[i] + 2] = 1;
		if ((x[i] - 1 >= 1 && x[i] - 1 <= n) || (y[i] + 1 >= 1 && y[i] + 1 <= n))
			illumination[x[i] - 1][y[i] + 1] = 1;
		if ((x[i] + 1 >= 1 && x[i] + 1 <= n) || (y[i] + 1 >= 1 && y[i] + 1 <= n))
			illumination[x[i] + 1][y[i] + 1] = 1;
		if ((x[i] - 1 >= 1 && x[i] - 1 <= n) || (y[i] - 1 >= 1 && y[i] - 1 <= n))
			illumination[x[i] - 1][y[i] - 1] = 1;
		if ((x[i] + 1 >= 1 && x[i] + 1 <= n) || (y[i] - 1 >= 1 && y[i] - 1 <= n))
			illumination[x[i] - 1][y[i] - 1] = 1;
		if ((x[i] - 2 >= 1 && x[i] - 2 <= n) || (y[i] + 2 >= 1 && y[i] + 2 <= n))
			illumination[x[i] - 2][y[i] + 2] = 1;
		if ((x[i] - 1 >= 1 && x[i] - 1 <= n) || (y[i] + 2 >= 1 && y[i] + 2 <= n))
			illumination[x[i] - 1][y[i] + 2] = 1;
		if ((x[i] + 1 >= 1 && x[i] + 1 <= n) || (y[i] + 2 >= 1 && y[i] + 2 <= n))
			illumination[x[i] + 1][y[i] + 2] = 1;
		if ((x[i] + 2 >= 1 && x[i] + 2 <= n) || (y[i] + 2 >= 1 && y[i] + 2 <= n))
			illumination[x[i] + 2][y[i] + 2] = 1;
		if ((x[i] - 2 >= 1 && x[i] - 2 <= n) || (y[i] + 1 >= 1 && y[i] + 1 <= n))
			illumination[x[i] - 2][y[i] + 1] = 1;
		if ((x[i] + 2 >= 1 && x[i] + 2 <= n) || (y[i] + 1 >= 1 && y[i] + 1 <= n))
			illumination[x[i] + 2][y[i] + 1] = 1;
		if ((x[i] - 2 >= 1 && x[i] - 2 <= n) || (y[i] - 1 >= 1 && y[i] - 1 <= n))
			illumination[x[i] - 2][y[i] - 1] = 1;
		if ((x[i] + 2 >= 1 && x[i] + 2 <= n) || (y[i] - 1 >= 1 && y[i] - 1 <= n))
			illumination[x[i] + 2][y[i] - 1] = 1;
		if ((x[i] - 2 >= 1 && x[i] - 2 <= n) || (y[i] - 2 >= 1 && y[i] - 2 <= n))
			illumination[x[i] - 2][y[i] - 2] = 1;
		if ((x[i] - 1 >= 1 && x[i] - 1 <= n) || (y[i] - 2 >= 1 && y[i] - 2 <= n))
			illumination[x[i] - 1][y[i] - 2] = 1;
		if ((x[i] + 1 >= 1 && x[i] + 1 <= n) || (y[i] - 2 >= 1 && y[i] - 2 <= n))
			illumination[x[i] + 1][y[i] - 2] = 1;
		if ((x[i] + 2 >= 1 && x[i] + 2 <= n) || (y[i] - 2 >= 1 && y[i] - 2 <= n))
			illumination[x[i] + 2][y[i] - 2] = 1;
	}
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= n; ++j) {
			if (!illumination) {
				cnt++;
			}
		}
	}
	cout << cnt;
}
2023/8/29 17:11
加载中...