80分模拟求调
查看原帖
80分模拟求调
1234658
shibojin26楼主2024/12/20 18:02

rt

#include<algorithm>
#include<iostream>
int map[110][110];
int N,M,K,x,y,ans;
void fill(int x1,int y1,int x2,int y2){
	for (int i=x1;i<=x2;i++)
		for (int j=y1;j<=y2;j++)
			map[i][j]=1;
	return;
}
int main()
{
	scanf("%d%d%d",&N,&M,&K);
	for (int i=0;i<M;i++){
		scanf("%d%d",&x,&y);
		fill((x-1<0? 0:x-1),(y-1<0? 0:y-1),x+1,y+1);
		map[(x-2<0? (x-1<0? 0:x-1):x-2)][y] = map[x+2][y] = map[x][(y-2<0? (y-1<0? 0:y-1):y-2)] = map[x][y+2] = 1;		
	}
	for (int i=0;i<K;i++){
		scanf("%d%d",&x,&y);
		fill((x-2<0? (x-1<0? 0:x-1):x-2),(y-2<0? (y-1<0? 0:y-1):y-2),x+2,y+2);
	}
	
	for (int i=0;i<N;i++)
		for (int j=0;j<N;j++)
			if (!map[i][j]) ans++;
	printf("%d",ans);
	return 0;
}
2024/12/20 18:02
加载中...