#include <iostream> //#include <iomanip> #include <cmath> //#include <vector> //#include <algorithm> //#include <map> #include <cstring> using namespace std; int main() { int n,m,k; cin>>n>>m>>k; int a[n+5][n+5]; //扩宽数组,防止越界 memset(a,0,sizeof(a)); //火把点亮 for(int i=1;i<=m;i++){ int x,y; cin>>x>>y; x=x+1;y=y+1; a[x-2][y]=1; a[x-1][y]=1;a[x-1][y-1]=1;a[x-1][y+1]=1; a[x][y]=1;a[x][y-1]=1;a[x][y-2]=1;a[x][y+1]=1;a[x][y+2]=1; a[x+1][y]=1;a[x+1][y-1]=1;a[x+1][y+1]=1; a[x+2][y]=1; } //萤石点亮 for(int i=1;i<=k;i++){ int o,p; cin>>o>>p; o=o+1;p=p+1; a[o-2][p]=1;a[o-2][p-1]=1;a[o-2][p+1]=1;a[o-2][p-2]=1;a[o-2][p+2]=1; a[o-1][p]=1;a[o-1][p-1]=1;a[o-1][p+1]=1;a[o-1][p-2]=1;a[o-1][p+2]=1; a[o][p]=1;a[o][p-1]=1;a[o][p+1]=1;a[o][p-2]=1;a[o][p+2]=1; a[o+1][p]=1;a[o+1][p-1]=1;a[o+1][p+1]=1;a[o+1][p-2]=1;a[o+1][p+2]=1; a[o+2][p]=1;a[o+2][p-1]=1;a[o+2][p+1]=1;a[o+2][p-2]=1;a[o+2][p+2]=1; } //统计没亮的地方 int count=0; for(int i=2;i<=n+1;i++){ for(int j=2;j<=n+1;j++){ if(a[i][j]==0){ count++; } } } cout<<count; return 0; }
P1789 【Mc生存】插火把(C++)
于 2024-01-20 11:33:22 首次发布