数字三角形最长路径(动态规划c++)

#include
#include
#include
#include
using namespace std;
int max(int a,int b){
    return (a>b)?a:b;
}

int main(){
    int data[10][10];
    int d[10][10];
    int b;
    srand((unsigned int)time(0));
    for(int i=1;i<=5;i++){
        for(int j=1;j<=i;j++){
            data[i][j]=rand()%20+1;
        }
    }
    for(int i=1;i<=5;i++){
        for(int j=1;j<=i;j++){
            cout<         }
        cout<     }
    cout<     for(int j=1;j<=5;j++){
        d[5][j]=data[5][j];
    }

    for(int i=4;i>=1;i--){
        for(int j=1;j<=i;j++){
            d[i][j]=max(d[i+1][j],d[i+1][j+1])+data[i][j];
        }
    }
    for(int i=1;i<=5;i++){
        for(int j=1;j<=i;j++){
            cout<         }
        cout<     }
        cout<         cout<<"最长的权值:"<         cout<<"最长路径:"<         b=d[1][1]-data[1][1];
    for(int i=1;i<=4;i++){
        for(int j=1;j<=i+1;j++){
        if(d[i+1][j]==b){
            cout<             b=d[i+1][j]-data[i+1][j];
        }
    }
}

你可能感兴趣的:(数字三角形最长路径(动态规划c++))