严格不相交的两条路径,要保证一个人一定在另一个人的右边

题目: P1006 传纸条

这题虽然跟方格取数很像,但是这题要求两个人的路径严格不相交
减了两条枝,复杂度已经够优秀了

include<bits/stdc++.h>

using namespace std;
#define low(x) x&(-x)
#define ll long long
int m,n;
int mp[55][55];
int f[55][55][55][55];
int main(){
cin >> n >> m;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
cin >> mp[i][j];
}
}

    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j){
            for(int i2=1;i2<=n;++i2){
                for(int j2=j+1;j2<=m;++j2){   //保证第二人一定在第一个人的右边
                    if(i2+j2>i+j) break;
                    if(i+j!=i2+j2) continue;
                    int z=max(f[i-1][j][i2-1][j2],f[i-1][j][i2][j2-1]);
                    f[i][j][i2][j2]=max(z,max(f[i][j-1][i2-1][j2],f[i][j-1][i2][j2-1]))+mp[i][j]+mp[i2][j2];
                }
            }
        }
    }
cout << f[n][m-1][n-1][m] << endl;
return 0;

}

全部评论

相关推荐

白菜小丑呜呜:集美,简历有点问题,+v细嗦
点赞 评论 收藏
分享
如题,我是双非一本,感觉前端主要的技术学的差不多了,也做过一点小项目练手。来点大神锐评一下我的简历,开学去海投了。
牧渊0320:自我评价挪到后面 然后项目经历可以适当提前,最好是两个以上为佳 另外v3对应的是element-plus element-ui是v2的 虽然都懂意思 但是最好还是严谨点 另外可以包装一些比较有含金量的场景,像大文件上传 sse 并发控制 这些难点尽量试着缝一下,再不济最基础的权限控制总得有吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务