样例过了,后面WA了,求调
查看原帖
样例过了,后面WA了,求调
632063
shipeiqian楼主2022/11/27 19:37
#include <bits/stdc++.h>
using namespace std;
const int N=1005;
int n,m,a[N][N],dp1[N][N],dp2[N][N];
void solve(){
    cin >>n >>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin >>a[i][j];
            dp1[i][j]=-1e9;
            dp2[i][j]=1e9;
        }
    }
    for(int i=1;i<=n;i++)dp2[i][1]=dp1[i][1]=dp2[i-1][1]+a[i][1];
    for(int i=1;i<=m;i++)dp2[1][i]=dp1[1][i]=dp2[i][i-1]+a[1][i];
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            dp2[i][j]=max(dp2[i-1][j],dp2[i][j-1])+a[i][j];
            dp1[i][j]=min(dp1[i-1][j],dp1[i][j-1])+a[i][j];
        }
    }
    cout <<((dp2[n][m]%2==1||dp1[n][m]>0||dp2[n][m]<0)?"NO\n":"YES\n");
}
int main(){
    int t;
    cin >>t;
    while(t--){
        solve();
    }
    return 0;
}
2022/11/27 19:37
加载中...