NEFU OJ17数字三角形

    xiaoxiao2022-06-22  20

    一道简单的动规题目,理解题意既可。

    dp[i][j] = ((dp[i-1][j]>dp[i-1][j-1])?dp[i-1][j]:dp[i-1][j-1])+ a[i][j] 这里出错了,是a?b:c运算符优先级的问题。

    #include<iostream> #include<stdio.h> using namespace std; int a[101][101] = {0}; int dp[101][101] = {0}; int main() { int n,max; while(scanf("%d",&n) != EOF) { max = 0; for(int i =1;i<=n;++i) { for(int j =1;j<i+1;++j) { scanf("%d",&a[i][j]); } } for(int i =1;i<=n;++i) { for(int j =1;j<i+1;++j) { dp[i][j] = ((dp[i-1][j]>dp[i-1][j-1])?dp[i-1][j]:dp[i-1][j-1])+ a[i][j]; if(i == n) { if(max<dp[i][j]) { max = dp[i][j]; } } } } printf("%d\n",max); } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1123016.html

    最新回复(0)