社区讨论
暴力打表20悬棺求调
P1789【Mc生存】插火把参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m4o6q0hs
- 此快照首次捕获于
- 2024/12/14 21:00 去年
- 此快照最后确认于
- 2025/11/04 12:51 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
long c[1000][1000];
long long n,k,m,a,b,e,d,sum=0,num;
cin>>n>>k>>m;
num=n*n;
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j){
c[i][j]=1;
}
}
for(int i=1;i<=k;++i){
cin>>a>>b;
if(c[a][b]==1){
c[a][b]=0;
sum++;
}
if(c[a+1][b]==1){
c[a+1][b]=0;
sum++;
}
if(c[a+2][b]==1){
c[a+2][b]=0;
sum++;
}
if(c[a][b+1]==1){
c[a][b+1]=0;
sum++;
}
if(c[a][b+2]==1){
c[a][b+2]=0;
sum++;
}
if(c[a-1][b]==1){
c[a-1][b]=0;
sum++;
}
if(c[a-2][b]==1){
c[a-2][b]=0;
sum++;
}
if(c[a][b-1]==1){
c[a][b-1]=0;
sum++;
}
if(c[a][b-2]==1){
c[a][b-2]=0;
sum++;
}
}
if(m==0){
cout<<num-sum;
}
else{
for(int i=1;i<=m;++i){
cin>>e>>d;
if(c[e][d]==1){
c[e][d]=0;
sum++;
}
if(c[e+1][d]==1){
c[e+1][d]=0;
sum++;
}
if(c[e+2][d]==1){
c[e+2][d]=0;
sum++;
}
if(c[e][d+1]==1){
c[e][d+1]=0;
sum++;
}
if(c[e][d+2]==1){
c[e][d+2]=0;
sum++;
}
if(c[e-1][d]==1){
c[e-1][d]=0;
sum++;
}if(c[e-2][d]==1){
c[e-2][d]=0;
sum++;
}
if(c[e][d-1]==1){
c[e][d-1]=0;
sum++;
}
if(c[e][d-2]==1){
c[e][d-2]=0;
sum++;
}
if(c[e+1][d+1]==1){
c[e+1][d+1]=0;
sum++;
}
if(c[e+1][d+2]==1){
c[e+1][d+2]=0;
sum++;
}
if(c[e+2][d+1]==1){
c[e+2][d+1]=0;
sum++;
}
if(c[e+2][d+2]==1){
c[e+2][d+2]=0;
sum++;
}
if(c[e-1][d+1]==1){
c[e-1][d+1]=0;
sum++;
}
if(c[e-2][d+1]==1){
c[e-2][d+1]=0;
sum++;
}
if(c[e-2][d-1]==1){
c[e-2][d-1]=0;
sum++;
}
if(c[e-2][d+2]==1){
c[e-2][d+2]=0;
sum++;
}
if(c[e-1][d+2]==1){
c[e-1][d+2]=0;
sum++;
}
if(c[e-1][d-1]==1){
c[e-1][d-1]=0;
sum++;
}
if(c[e-2][d-2]==1){
c[e-2][d-2]=0;
sum++;
}
if(c[e-1][d-2]==1){
c[e-1][d-2]=0;
sum++;
}
if(c[e+1][d-1]==1){
c[e+1][d-1]=0;
sum++;
}
if(c[e+1][d-2]==1){
c[e+1][d-2]=0;
sum++;
}
if(c[e+2][d-1]==1){
c[e+2][d-1]=0;
sum++;
}
if(c[e+2][d-2]==1){
c[e+2][d-2]=0;
sum++;
}
}
}
cout<<num-sum;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...