命运
2011-08-05 15:43
134 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2571
杭电2571 命运 使用动态规划求解,从前往后计算出每个数组中的值.最终可得到达右下角的值.
杭电2571 命运 使用动态规划求解,从前往后计算出每个数组中的值.最终可得到达右下角的值.
#include<stdio.h> #define MIN -1147483648 //设置为-2147483648,可能会出负溢出 int f[21][1001]; int c[21][1001]; void main() { int t; int n,m; int i,j,k; int temp; // freopen("input.txt","r",stdin); scanf("%d", &t); while (t--) { scanf("%d%d", &n, &m); for (i = 1; i <= n; i++) { for (j = 1; j <= m; j++) { scanf("%d", &f[i][j]); } } for (i = 0; i <= n; i++) { for (j = 0; j <= m; j++) { c[i][j] = MIN; } } c[0][1] = 0; c[1][0] = 0; //只需要设置c[0][1],c[1][0]为0即可 for (i = 1; i <= n; i++) { for (j = 1; j <= m; j++) { if (c[i - 1][j] > c[i][j - 1]) temp = c[i - 1][j] + f[i][j]; else temp = c[i][j - 1] + f[i][j]; if (temp > c[i][j]) c[i][j] = temp; //每算出一个c[i][j],就更新其后面的与j成倍数的c[i][k*j]。 k = 2; while (k * j <= m) { if (c[i][j] + f[i][k * j] > c[i][k * j]) c[i][k * j] = c[i][j] + f[i][k * j]; k++; } } } printf("%d\n", c [m]); } }
相关文章推荐
- 搜狐和新浪——中国两大互联网站同行不同命运
- 向命运挑战
- 命运
- 让我们自己来破解命运外挂999
- 别错怪了命运,是你自己浪费了机会
- 行动 习惯 性格 命运
- 性格决定命运
- 一骑当千-龙之命运主题曲歌词
- 销售改变命运
- 李嘉诚:性格才是命运的决定因素
- [转载]《越狱》第二季过后,剧情跌宕起伏,各角色们的命运也各有不同,现公布如下
- 《越狱》第二季过后,剧情跌宕起伏,各角色们的命运也各有不同,现公布如下
- 心态决定命运
- 思想、行为、习惯、性格、命运
- 周易、命理、风水、姓名与命运交流周易研究心得:姓名学
- 转朋友签名:命运负责洗牌,但玩牌的是我们自已!
- 网工的悲惨命运
- 改变人生命运的两个字
- 如何掌握自己的命运
- 主宰命运的品质(8.20)