TYVJ 1124 花店橱窗 解题报告
2011-08-10 18:07
316 查看
f[i][j]代表将第i束花插进第j个花屏所能获得的最大的分,方程是: f[i][j] = max(f[i - 1][k] + map[i][j]) (i -1=<k<j),代码如下:
#include <stdio.h> #include <stdlib.h> int f[101][101]; int map[101][101]; int p[101][101]; void output(int a, int b) { if(a == 1){ printf("%d", b); return; } output(a - 1, p[a][b]); printf(" %d", b); } int main(int argc, char **argv) { int i, j, k; int m, n; scanf("%d%d", &n, &m); for(i = 1; i <= n; i++){ for(j = 1; j <= m; j++){ scanf("%d", &map[i][j]); } } for(i = 1; i <= n; i++){ for(j = i; j <= m - n + i; j++){ f[i][j] = -100000000; for(k = i - 1; k < j; k++){ if(f[i - 1][k] + map[i][j] > f[i][j]){ f[i][j] = f[i - 1][k] + map[i][j]; p[i][j] = k; } } } } for(i = n, k = 0; i <= m; i++){ if(k < f [i]){ k = f [i]; j = i; } } printf("%d\n", f [j]); output(n, j); printf("\n"); return 0; }
相关文章推荐
- Tyvj 1124 花店橱窗
- 一中OJ #1426 花店橱窗布置 [IOI1999 Day1T1 Little Shop of Flowers] | 动态规划 序列DP+递归路径 | 解题报告
- [Tyvj 1124]花店橱窗布置
- TYVJ 1058 作业调度方案 完整版 解题报告
- TYVJ 1090 母舰 解题报告
- TYVJ 1112 舞会2 解题报告
- TYVJ 1097 MM不哭 解题报告
- 【九度OJ】题目1124:Digital Roots 解题报告
- 解题报告 tyvj 1068
- TYVJ 1059 过河 解题报告
- TYVJ 1083 分糖果 解题报告
- TYVJ 1062 合并傻子 解题报告
- TYVJ 1080 N皇后 解题报告
- TYVJ 1077 有理逼近 解题报告
- TYVJ 1089 smrtfun 解题报告
- TYVJ 1113 魔族密码 解题报告
- TYVJ 1111 舞会 强联通分量版解题报告
- [Tyvj1728]普通平衡树 解题报告
- TYVJ 1072 bomb 解题报告
- TYVJ 1095 美元 解题报告