您的位置:首页 > 其它

POJ 1163 The Triangle

2012-05-17 21:31 302 查看
简单的动态规划题

状态转移方程:data[i][j]=max(data[i+1][j], data[i+1][j+1])+data[i][j]

最后的data[0][0]即为结果

#include<stdio.h>
#include<iostream>

using namespace std;

int data[100][100];

int main()
{
int rows;
//读入数据
cin>>rows;
for(int i=0; i<rows; ++i)
for(int j=0; j<=i; ++j)
cin>>data[i][j];

//计算最大和值
for(int i=rows-2; i>=0; --i)
for(int j=0; j<=i; ++j)
{
data[i][j] += max(data[i+1][j], data[i+1][j+1]);
}

cout<<data[0][0]<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: