求助,记忆化搜索不知道怎么写
查看原帖
求助,记忆化搜索不知道怎么写
513654
JWWJ0101楼主2021/5/20 20:59
#include<iostream>
using namespace std;
int N=0;
int d[999][999]={};
int k[999][999]={};
int MAX(int n,int m){

    if(n==N){
        return d[n][m];
    }
    int a=MAX(n+1,m)+d[n][m];
    int b=MAX(n+1,m+1)+d[n][m];
    
    if(a>b){
        return k[n][m]=a;
    }else{
        return k[n][m]=b;
    }
}
int main(){
    cin>>N;
    for(int i=0;i<999;i++){
        for(int j=0;j<999;j++){
            k[i][j]=-1;
        }
    }
    
    for(int i=1;i<=N;i++){
        for(int j=1;j<=i;j++){
            cin>>d[i][j];
        }
    }
    cout<< MAX(1,1);
}

2021/5/20 20:59
加载中...