设为首页 加入收藏

TOP

HDU 2126 Buy the souvenirs(二)
2015-07-20 18:02:26 来源: 作者: 【 】 浏览:8
Tags:HDU 2126 Buy the souvenirs
sing namespace std; int a[35]; int dp[35][505]; int mark[35][505]; int main(){ int T; scanf("%d",&T); while(T--){ int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ mark[i][j]=1; } } for(int i=0;i<=n;i++){ dp[i][0]=0; } for(int i=0;i<=m;i++){ dp[0][i]=0; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ dp[i][j]=dp[i-1][j]; mark[i][j]=mark[i-1][j]; if(j>=a[i]){ if(dp[i-1][j-a[i]]+1>dp[i][j]){ dp[i][j]=dp[i-1][j-a[i]]+1; mark[i][j]=mark[i-1][j-a[i]]; } else if(dp[i][j]==dp[i-1][j-a[i]]+1){ mark[i][j]=mark[i-1][j]+mark[i-1][j-a[i]]; } } } } if(dp[n][m]) printf("You have %d selection(s) to buy with %d kind(s) of souvenirs.\n",mark[n][m],dp[n][m]); else printf("Sorry, you can't buy anything.\n"); } return 0; }




??
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇UVa 1585 Score(水) 下一篇CodeForces 283C Coin Troubles ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: