救助60qwq
查看原帖
救助60qwq
323989
Vector_Mingfan楼主2020/12/6 14:57
#include <cstdio>
int n , m , k , Ans;
bool map[105][105];
int main(){
    scanf("%d %d %d",&n,&m,&k);
    for (int i=1 , x , y; i<=m; i++ ) {
        scanf("%d %d",&x,&y);
        map[x][y] = 1;
		map[x][y + 2] = 1;
		map[x][y - 2] = 1;
		map[x][y + 1] = 1;
		map[x][y - 1] = 1;
        map[x - 1][y] = 1;
		map[x - 2][y] = 1;
		map[x + 1][y] = 1;
		map[x + 2][y] = 1;
		map[x - 1][y + 1] = 1;
		map[x - 1][y - 1] = 1;
		map[x + 1][y + 1] = 1;
		map[x + 1][y - 1] = 1;
    }
    for (int i=1 , x , y; i<=k; i++ ) {
		scanf("%d %d",&x,&y);
        for (int u=-2; u<=2; u++ ) {
            for(int v=-2; v<=2; v++ ) {
            	map[x + u][y + v] = 1;
			}
		}
    }
    for(int i=1; i<=n; i++ ) {
        for (int j=1; j<=n; j++ ) {
            if (!map[i][j]) {
            	Ans++ ;
			}
		}
	}
    printf("%d",Ans);
    return 0;
}

RE第二个点和第三个点

第二个点.in:

8 22 0
1 1
1 2
1 3
1 4
1 5
1 6
3 1
3 2
3 3
3 4
3 5
3 6
5 1
5 2
5 3
5 4
5 5
5 6
7 1
7 3
7 5
7 7

.out:

2

帮帮这个可怜的孩子吧

2020/12/6 14:57
加载中...