蒟蒻求调,为什么会RE
查看原帖
蒟蒻求调,为什么会RE
1259205
kaoxiangnb666楼主2024/7/11 21:58
#include<bits/stdc++.h>//万能头 
using namespace std;
const int N=100;
int f[N][N][N];//存储坐标 
int w[N][N];//存储好心度 
int m,n;//与题意同 
int main(){
    cin>>m>>n;
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            cin>>w[i][j];
        }
    }//输入 
    for(int k=2;k<=n+m;k++){//k表示横纵坐标之和,优化,将四维数组优化为三维 
        for(int i1=1;i1<=m;i1++){//第一条路径坐标,即小渊给小轩 
            for(int i2=1;i2<=m;i2++){//第二条路径坐标,即小轩给小渊 
                int j1=k-i1;
                int j2=k-i2;//第一条路径坐标(i1,j1),第二条路径坐标(i2,j2) 
                if(j1>=1&&j1<=n&&j2>=1&&j2<=n){
                    int t=w[i1][j1];//t表示该点好心度 
                    if(i1!=i2){
                        t+=w[i2][j2];//如果不在同一点就加上两个点的好心度 
                    }
                    f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1-1][i2-1]+t);
                    f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1-1][i2]+t);
                    f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1][i2-1]+t);
                    f[k][i1][i2]=max(f[k][i1][i2],f[k-1][i1][i2]+t);//dp 
                }
            }
        }
    }
    cout<<f[m+n][m][m];//输出 
    return 0;
}

第二个和第十个样例点RE 必将感激不尽

2024/7/11 21:58
加载中...