ACM数塔出错了,朋友们帮忙看看!

[复制链接]
查看11 | 回复0 | 2010-3-19 08:29:53 | 显示全部楼层 |阅读模式
不是这样的,这样是贪心的做法。你选的当前最优的策略(选择)未必是全局最优的!这道很经典的dp题目。不会有错的!思路是枚举倒数第二层开始,选择倒数第一层的,有两个选择,你选择一个相对优的:再枚举倒数第三层的,选择第二层的:………直到第一层。应该可以的。再把第一层输出来! -----------------------------------------------------#include #include #include using namespace std;int array[105][105];int main (){
int T,N;
scanf ("%d", &T);
while (T--)
{
scanf ("%d", &N);
for (int i = 0; i = 0; --i)// start from N - 2 row
{
for (int j = 0; j <= i; ++j)
{
array[j] += max (array[i + 1][j], array[i + 1][j + 1]);
}
}
printf ("%d\n", array[0][0]);
}
return 0;} ------------------------------------------------------------这位哥们好像有点不厚道啊,我都给你思路和标程了,怎么还不给我点分啊!这样ACM的路,怎么走得远啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行