60分!!超时!!

P1789 【Mc生存】插火把

找找规律就出来了 ```cpp #include<iostream> using namespace std; int a[105][105]={0}; int main() { int n,m,k,x,y; cin>>n>>m>>k; while(m--){ cin>>x>>y; for(int i=x-1;i<=x+1;i++){ for(int j=y-1;j<=y+1;j++){ if(i>=1 && i<=n && j>=1 && j<=n){ a[i][j]=1; } } for(int j=x-2;j<=x+2;j++){ if(j<=n && j>=1){ a[j][y]=1; } } for(int j=y-2;j<=y+2;j++){ if(j<=n && j>=1){ a[x][j]=1; } } } } while(k--){ cin>>x>>y; for(int i=x-2;i<=x+2;i++){ for(int j=y-2;j<=y+2;j++){ if(i>=1 && i<=n && j>=1 && j<=n){ a[i][j]=1; } } } } int cnt=0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(a[i][j]==0){ cnt++; } } } cout<<cnt; return 0; } ```
by lhz123bc @ 2023-12-05 20:08:59


|