HDU 2084(数塔)
来源:互联网 发布:apache评分与死亡率 编辑:程序博客网 时间:2024/05/16 14:45
/**好久没有写博客了,期末琐事比较多,寒假继续刷题看书,现在还在搞DP,我比较喜欢搜索,所以今天打算写个记忆化搜索的题,但是还没写出来,所以用另一道简单的题来熟悉一下记忆化搜索,其实和暴力搜索没太大区别,主要是对结果进行了储存;下面是HDU 2084的代码**/#include<stdio.h>#include<string.h>#include<algorithm>int num[105][105], dp[105][105], n;int solve(int i, int j){ if(i == n + 1) return 0; if(dp[i][j] != 0) return dp[i][j]; int a = solve(i + 1,j); int b = solve(i + 1,j + 1); return dp[i][j] = std::max(a, b) + num[i][j];}int main(){ int i, j, T; scanf("%d", &T); while(T--){ memset(dp, 0, sizeof(dp)); scanf("%d", &n); for(i = 1;i <= n;i++) for(j = 1;j <= i ;j++) scanf("%d", &num[i][j]); solve(1, 1); printf("%d\n", dp[1][1]); }}