hdu 1224 Free DIY Tour(dp)
2014-06-30 19:19
375 查看
题目:
链接:点击打开链接
题意:
思路:
代码:
-----------------------------------------------------------------
收获:
-----------------------------------------------------------------
战斗,从不退缩;奋斗,永不停歇~~~~~~~~~~
链接:点击打开链接
题意:
思路:
代码:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int map[110][110]; int dp[110],next[110],ins[110]; int t,n,m; void output(int x) { if(x == -1) return ; output(next[x]); printf("%d->",x); } void ddpp() { for(int i=1; i<=n+1; i++) { for(int j=1; j<i; j++) { if(map[j][i] != -1 && dp[j] + map[j][i] > dp[i]) { dp[i] = dp[j] + map[j][i]; next[i] = j; } } } } int main() { //freopen("input.txt","r",stdin); int a,b; int kase = 1; cin>>t; while(t--) { scanf("%d",&n); memset(map,-1,sizeof(map)); memset(dp,0,sizeof(dp)); for(int i=1; i<=n; i++) { scanf("%d",&ins[i]); } ins[n+1] = 0; scanf("%d",&m); for(int i=1; i<=m; i++) { scanf("%d%d",&a,&b); map[a][b] = ins[b]; } next[1] = -1; ddpp(); if(kase > 1) printf("\n"); printf("CASE %d#\n",kase++); printf("points : %d\n",dp[n+1]); printf("circuit : "); output(next[n+1]); printf("1\n"); } return 0; }
-----------------------------------------------------------------
收获:
-----------------------------------------------------------------
战斗,从不退缩;奋斗,永不停歇~~~~~~~~~~
相关文章推荐
- hdu 1224 Free DIY Tour(最长路/dp)
- HDU 1224 Free DIY Tour(简单dp?+记录路径)
- 【数塔DP|最长路】HDU-1224 Free DIY Tour
- HDU 1224 Free DIY Tour(DP)
- HDU 1224 Free DIY Tour--DP--(bug集锦)
- HDU 1224 Free DIY Tour (DP again!)
- hdu 1224 Free DIY Tour(dp)
- HDU 1224 Free DIY Tour——DP
- hdu 1224 Free DIY Tour(最长的公路/dp)
- HDU 1224 Free DIY Tour 简单DP
- hdu 1224 Free DIY Tour(DP多阶段决策)
- hdu1224 Free DIY Tour--DP
- HDU 1224 Free DIY Tour(DP)
- hdu 1224 Free DIY Tour(DP多阶段决策)
- HDU 1224 Free DIY Tour(DP求最短路)
- hdu 1224 Free DIY Tour 【动态规划】
- HDU1224 Free DIY Tour
- hdu 1224 Free DIY Tour(路径输出)
- Free DIY Tour (HDU 1224)—— floyed记录路径
- HDU 1224 Free DIY Tour