首页 > 代码库 > POJ 3176 Cow Bowling
POJ 3176 Cow Bowling
数字三角形的问题,初步的动态规划
思路:从n-1行开始,每一个位置的值可以用当前位置的值加上当前位置下面2个可加值的最大值,一次类推上去,直到推到顶点,即可求出其最大值!
AC代码:
#include<stdio.h> #include<string.h> int main() { long dp[400][400]; long i,j,n,maxx; scanf("%d",&n); memset(dp,0,sizeof(dp)); for(i=1;i<=n;i++) for(j=1;j<=i;j++) scanf("%ld",&dp[i][j]); for(i=n-1;i>0;i--) for(j=1;j<=i;j++){ maxx=dp[i+1][j]>dp[i+1][j+1]?dp[i+1][j]:dp[i+1][j+1]; dp[i][j]+=maxx; } printf("%ld\n",dp[1][1]); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。