Poj 1163 The Triangle

来源:互联网 发布:小译软件 编辑:程序博客网 时间:2024/05/21 17:26

简单dp,貌似题目和3176是一样的。

#include <stdio.h>int data[360][360];int dp[360][360];int n;int main(){int i,j,k,maxn;scanf("%d",&n);for (i=0;i<n;i++) {for (j=0;j<=i;j++) {scanf("%d",&data[i][j]);}}dp[0][0]=data[0][0];for (i=1;i<n;i++) {for (j=0;j<=i;j++) {if (j-1>=0&&i!=j) {if (dp[i-1][j-1]>dp[i-1][j])dp[i][j]=dp[i-1][j-1]+data[i][j];else dp[i][j]=dp[i-1][j]+data[i][j];}else if (j-1>=0)dp[i][j]=dp[i-1][j-1]+data[i][j];else dp[i][j]=dp[i-1][j]+data[i][j];}}maxn=dp[n-1][0];for (i=0;i<n;i++) {if (dp[n-1][i]>maxn)maxn=dp[n-1][i];}printf("%d\n",maxn);return 0;}


原创粉丝点击