hdu 1224 Free DIY Tour(dp)
2017-02-22 23:57
501 查看
题意:求从城市1到城市n+1的最大兴趣值,不能从城市编号数字大的到数字小的。
AC代码如下:
AC代码如下:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=100+10; int dp[maxn]; int p[maxn]; int path[maxn]; int g[maxn][maxn]; int n; void print(int t){ if(path[t])print(path[t]); if(t!=n+1)printf("%d->",t); } int main(){ int T; int count1=0; scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&p[i]); int m; scanf("%d",&m); memset(dp,0,sizeof(dp)); memset(g,0,sizeof(g)); memset(path,0,sizeof(path)); for(int i=0;i<m;i++){ int a,b; scanf("%d%d",&a,&b); g[a][b]=1; } p[n+1]=0; //这里不要忘了 for(int i=1;i<=n+1;i++){ for(int j=1;j<i;j++){ if(g[j][i] && p[i]+dp[j]>dp[i]){ dp[i]=p[i]+dp[j]; path[i]=j; } } } printf("CASE %d#\n",++count1); printf("points : %d\ncircuit : ",dp[n+1]); print(n+1); printf("1\n"); if(T)printf("\n"); } return 0; }
相关文章推荐
- 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--(bug集锦)
- HDU 1224 Free DIY Tour (DP again!)
- 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(DP多阶段决策)
- 【数塔DP|最长路】HDU-1224 Free DIY Tour
- 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(动态规划)