求助,还是不对

P1789 【Mc生存】插火把

@[WCX12312](/user/1253413) `a[x-2][y]=a[x-1][y]=a[x+1][y]=a[x+2][y]=1;`可能会出现负数的情况
by __zaa__ @ 2024-04-07 17:15:32


万一你的x小于2,那数组就成负数了
by RockyChen @ 2024-04-07 17:16:30


```cpp #include <bits/stdc++.h> using namespace std; int n,m,k,a,b,ans; int s[5005][5005]; bool pd(int x,int y) { if(x<1||y<1||x>n||y>n) return 0; return 1; } int main() { cin>>n>>m>>k; for(int i=1;i<=m+k;i++) { cin>>a>>b; for(int x=-2;x<=2;x++) for(int y=-2;y<=2;y++) if((i>m||abs(x)+abs(y)<=2)&&pd(x+a,b+y)) s[x+a][b+y]++; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) ans+=s[i][j]==0; cout<<ans<<endl; return 0; } ``` 给个关注吧,能不能加一下www.luogu.com.cn/team/60983
by cdxxmashaoyang @ 2024-04-07 17:19:56


@[cdxxmashaoyang](/user/997809) ```cpp if((i>m||abs(x)+abs(y)<=2)&&pd(x+a,b+y)) ``` 这句是啥意思
by WCX12312 @ 2024-04-07 17:38:12


这个就是防止出现负数
by cdxxmashaoyang @ 2024-04-07 19:14:24


|