因为准备毕业事宜好久没有做POJ了……今天晚上刷了一道动态规划的水题,直接给放上来了。
算法分析:最最基本动态规划题,可谓是毫无难度。
算法实现:真心编程没难度,代码长度都可以看出来……
#include <iostream>
#include <fstream>
using namespace std;
int Count(int nn)
{
if (nn==0)
{
return 0;
}
else
{
return (nn+1)*nn/2;
}
}
int main()
{
// ifstream cin("test.txt");
// ofstream cout("result.txt");
int N;
int T[5100];
cin>>N;
int totalN;
totalN=Count(N);
for (int i=0; i!=totalN; i++)
{
cin>>T[i];
}
for (int n=N-1; n!=0; n--)
{
if (n!=0)
{
for (int i=Count(n-1); i!=Count(n); i++)
{
T[i]=(T[i]+T[i+n]>T[i]+T[i+n+1]) ? (T[i]+T[i+n]):(T[i]+T[i+n+1]);
}
}
}
cout<<T[0]<<endl;
// cin.close();
// cout.close();
return 0;
}