• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

  • 联系
  • 订阅
  • 管理

View Post

HDU 2084数塔 dp

//记忆化搜索
//从最底层开始向上搜索,每次保存最大的值
#include<iostream>
#define MAX 101
using namespace std;

int a[MAX][MAX];

int main()
{
	int cases;
	int height;
	cin >> cases;

	int c[MAX];
	int b[MAX];
	while (cases--)
	{
		cin >> height;

		for (int i = 0; i < height; i++)
		{
			for (int j = 0; j <= i; j++)
				cin >> a[i][j];
		}

		for (int i = height - 1; i > 0; i--)
		{
			for (int j = 0; j < i; j++)
				a[i-1][j] = max(a[i-1][j]+a[i][j], a[i-1][j]+a[i][j+1]);
		}

		cout << a[0][0] << endl;
	}
	return 0;
}

posted on 2010-12-14 19:46  sysuwhj  阅读(373)  评论(1)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3