P1789 【Mc生存】插火把 为啥错了??
查看原帖
P1789 【Mc生存】插火把 为啥错了??
697153
Jim777楼主2023/7/13 20:04
#include <bits/stdc++.h>
using namespace std;
int n,m,k;     
struct node{
	int x,y;
};
node mm[105];
node kk[105];
int book[105][105];
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		cin>>mm[i].x>>mm[i].y;
	}
	for(int i=1;i<=k;i++){
		cin>>kk[i].x>>kk[i].y; 
	}
	for(int i=1;i<=m;i++){
		book[mm[i].x][mm[i].y]=1;
		book[mm[i].x+1][mm[i].y]=1;
		book[mm[i].x][mm[i].y+1]=1;
		book[mm[i].x-1][mm[i].y]=1;
		book[mm[i].x][mm[i].y-1]=1;
		book[mm[i].x][mm[i].y+2]=1;
		book[mm[i].x+2][mm[i].y]=1;
		book[mm[i].x][mm[i].y-2]=1;
		book[mm[i].x-2][mm[i].y]=1;
        book[mm[i].x+1][mm[i].y-1]=1;
        book[mm[i].x-1][mm[i].y+1]=1;
        book[mm[i].x+1][mm[i].y+1]=1;
        book[mm[i].x-1][mm[i].y-1]=1;
	}
	for(int i=1;i<=k;i++){
		book[kk[i].x][kk[i].x]=1;
		book[kk[i].x+1][kk[i].y]=1;
	    book[kk[i].x][kk[i].y+1]=1;
		book[kk[i].x-1][kk[i].y]=1;
		book[kk[i].x][kk[i].y-1]=1;
		book[kk[i].x][kk[i].y+2]=1;
		book[kk[i].x+2][kk[i].y]=1;
		book[kk[i].x][kk[i].y-2]=1;
		book[kk[i].x-2][kk[i].y]=1;
		book[kk[i].x+1][kk[i].y-1]=1;
		book[kk[i].x-1][kk[i].y+1]=1;
		book[kk[i].x+1][kk[i].y+1]=1;
		book[kk[i].x-1][kk[i].y-1]=1;
		book[kk[i].x-2][kk[i].x-1]=1;
		book[kk[i].x-2][kk[i].x+1]=1;
		book[kk[i].x+2][kk[i].x-1]=1;
		book[kk[i].x+2][kk[i].x+1]=1;
		book[kk[i].x+1][kk[i].x-2]=1;
		book[kk[i].x+1][kk[i].x+2]=1;
		book[kk[i].x-1][kk[i].x-2]=1;
		book[kk[i].x-1][kk[i].x+2]=1;
		book[kk[i].x+2][kk[i].x+2]=1;
		book[kk[i].x+2][kk[i].x-2]=1;
		book[kk[i].x-2][kk[i].x+2]=1;
		book[kk[i].x-2][kk[i].x-2]=1;
	}
	int cnt=0;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(book[i][j]==0){
			   cnt++;	
			}
			//cout<<book[i][j]<<" ";
		}
		cout<<endl;
	}
	cout<<cnt;
	return 0;
}
2023/7/13 20:04
加载中...