poj 1163 The Triangle 题目链接:
http://poj.org/problem?id=1163
简单DP
题目大意:经典数字三角形
题目分析:状态转移方程 a[ i ] [ j ]+=a[ i+1 ] [ j ]>a[ i+1 ] [ j+1 ]?a[ i+1 ] [ j ]:a[ i+1 ] [ j+1 ](i 递减,j从0递增)为核心算法。
以下是代码:
简单DP
题目大意:经典数字三角形
题目分析:状态转移方程 a[ i ] [ j ]+=a[ i+1 ] [ j ]>a[ i+1 ] [ j+1 ]?a[ i+1 ] [ j ]:a[ i+1 ] [ j+1 ](i 递减,j从0递增)为核心算法。
以下是代码:
#include<stdio.h>
int main()
{
int a[105][105],i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=n-1;i>=0;i--)
{
for(j=0;j<i;j++)
{
if(a[i][j]>a[i][j+1])a[i-1][j]+=a[i][j];
else a[i-1][j]+=a[i][j+1];
}
}
printf("%d\n",a[0][0]);
return 0;
}