为什么不对呃?
查看原帖
为什么不对呃?
65333
Linda_rdfzEDP楼主2020/12/3 20:49
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n, m, k;
int main() {
	int x, y, o, p;
	cin >> n >> m >> k;
	int map[n+5][n+5];
	memset(map, 0, sizeof(map));
	for (int i = 1; i <= m; i++) {
		cin >> x, y;
		map[x+2][y] = 1;
		map[x][y+2] = 1;
		map[x-2][y] = 1;
		map[x][y-2] = 1;
		map[x+1][y] = 1;
		map[x+1][y+1] = 1;
		map[x+1][y-1] = 1;
		map[x][y+1] = 1;
		map[x][y] = 1; 
		map[x][y-1] = 1;
		map[x-1][y] = 1;
		map[x-1][y+1] = 1;
		map[x-1][y-1] = 1;
	}
	for (int i = 1; i <= k; i++) {
		cin >> o >> p;
		map[o-2][p-2] = 1;
		map[o-2][p-1] = 1;
        map[o-2][p] = 1;
        map[o-2][p+1] = 1;
        map[o-2][p+2] = 1;
        map[o-1][p-2] = 1;
        map[o-1][p-1] = 1;
        map[o-1][p] = 1;
        map[o-1][p+1] = 1;
        map[o-1][p+2] = 1;
        map[o][p-2] = 1;
        map[o][p-1] = 1;
        map[o][p] = 1;
        map[o][p+1] = 1;
        map[o][p+2] = 1;
        map[o+1][p-2] = 1;
        map[o+1][p-1] = 1;
        map[o+1][p] = 1;
        map[o+1][p+1] = 1;
        map[o+1][p+2] = 1;
        map[o+2][p-2] = 1;
        map[o+2][p-1] = 1;
        map[o+2][p] = 1;
        map[o+2][p+1] = 1;
        map[o+2][p+2] = 1;
	}
	int ans = 0;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (map[i][j] == 0) ans++;
		}
	}
	cout << ans;
	return 0;
}
2020/12/3 20:49
加载中...