求助站外题
  • 板块学术版
  • 楼主soywcy
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/11/19 20:37
  • 上次更新2023/11/5 07:42:53
查看原帖
求助站外题
238636
soywcy楼主2020/11/19 20:37

也是摘花生,只不过和洛谷的不一样

这是我的代码,不知道为啥输出0

#include <bits/stdc++.h>
using namespace std;
int t,mp[105][105];
int f[105][105];
int p,q;
int dfs(int x,int y){
    if (f[x][y]!=-1) return f[x][y];
    if (x==p && y==q) return f[x][y]=mp[x][y];
    return f[x][y]=max(dfs(x+1,y),dfs(x,y-1))+mp[x][y];
}
int main(){
    scanf("%d",&t);
    while(t--){
        int u,v;
        cin>>u>>v;
        p=u,q=v;
        for(int i=1;i<=u;i++)
            for(int j=1;j<=v;j++)
                cin>>mp[i][j];
        cout<<dfs(1,1)<<endl;
        for(int i=1;i<=u;i++)
            for(int j=1;j<=v;j++)
                mp[i][j]=0;
    }
    return 0;
}

惨不忍睹的现场:

应该输出8

谢谢dalao

2020/11/19 20:37
加载中...