HDU 1224(dp46)
来源:互联网 发布:淘宝售前客服工资算法 编辑:程序博客网 时间:2024/05/20 15:31
#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;int spot[105];bool plane[105][105];int dp[105];int pre[105];void show(int a){ if (a == 1) { printf("1"); return; } show(pre[a]); printf("->%d", a);}int main(){ int T; scanf("%d", &T); int cas = 1; while (T--) { memset(plane, false, sizeof(plane)); memset(dp, 0, sizeof(dp)); memset(pre, 0, sizeof(pre)); memset(spot, 0, sizeof(spot)); int N; scanf("%d", &N); int i, j; for (i = 1; i <= N; i++) { scanf("%d", &spot[i]); } int M; scanf("%d", &M); for (i = 1; i <= M; i++) { int a, b; scanf("%d%d", &a, &b); plane[a][b] = true; } spot[N + 1] = 0; for (i = 1; i <= N + 1; i++) { for (j = 1; j<i; j++) { if (plane[j][i]) { if (dp[j] + spot[i] > dp[i]) { dp[i] = dp[j] + spot[i]; pre[i] = j; } } } } printf("CASE %d#\n", cas++); printf("points : %d\n", dp[N + 1]); printf("circuit : "); show(pre[N + 1]); printf("->1\n"); if(T!=0) printf("\n"); } return 0;}
0 0
- HDU 1224(dp46)
- HDU 1171(dp46)
- HDU 2048 (dp46)
- HDU 1203(dp46)
- HDU 2159(dp46)
- HDU 2577(dp46)
- HDU 2870 (dp46)
- HDU 2191(dp46)
- HDU 1422(dp46)
- HDU 1300(dp46)
- HDU 1501(dp46)
- HDU 3008(dp46)
- HDU dp46
- HDU 1059(dp46,多重背包)
- hdu 2602 Bone Collector(dp46)
- 暑期dp46道(14)--HDU 1224 Free DIY Tour类树塔问题+回溯输出
- HDU DP46题
- hdu dp46题
- 驱动学习第二讲(规范化以及misc驱动)
- git 命令 学习
- 自定义下拉选择框
- Android基础 完美打造自己的apk
- android中的MVP模式
- HDU 1224(dp46)
- nerdTree安装详细介绍
- Android - 监听软键盘状态以及获取软键盘的高度
- ZZULIOJ 1917: E(序列的价值,思维,vector)
- Substrings poj1226 (后缀数组)
- LoadRunner11的安装与破解
- BZOJ2827 千山鸟飞绝
- 使用ZXing扫描和生成二维码
- Ubuntu双系统安装,为后面Ubuntu编译ndk做准备