样例都没过的rz求助

P2692 覆盖

```cpp #include<bits/stdc++.h> using namespace std; int boy[3][5001],girl[3][5001],b,g,m,n,sum; int main() { cin>>n>>m>>b>>g; int fz[m][n]={0}; for(int i=1; i<=b; i++) { cin>>boy[i][1]>>boy[i][2]; } for(int i=1; i<=g; i++) { cin>>girl[i][1]>>girl[i][2]; }//全存完了所有数据 for(int i=1; i<=b; i++) { for(int k=boy[1][i]; k<=boy[2][i]; k++) { for(int j=1; j<=m; j++) { if(fz[k][j]!=1) { fz[k][j]=1; } } } }//男孩扫的地方 for(int i=1; i<=g; i++) { for(int k=girl[1][i]; k<=girl[2][i]; k++) { for(int j=1;j<=n;j++){ if(fz[j][k]!=1) { fz[j][k]=1; } } } }//女孩扫的地方 for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(fz[i][j]!=0){ sum++; } } } cout<<sum; return 0; } ```
by 憨批热狗 @ 2020-10-18 17:26:27


先不说超时的问题,样例都过不了(X_X)
by 憨批热狗 @ 2020-10-18 17:27:41


```cpp int fz[m][n]={0}; ``` 一看就是萌新,```int fz[5005][5005]={0};``` 这道题不能记录每一个格子,要记录每一行或列扫没扫 最后有两种方法: 1. $x$行没扫,$y$列没扫,$n\times m-x\times y$ 1. $x$行扫了,$y$列扫了,$x\times m+y\times n-x\times y$
by NumberTrart @ 2023-01-18 13:22:30


|