码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1203 I NEED A OFFER!【01背包】

时间:2014-08-29 23:51:38      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   ar   for   art   

大意:01背包

分析:01背包

代码:

bubuko.com,布布扣
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 
 6 const int maxn = 10005;
 7 const int INF = 1000000000;
 8 
 9 double dp[maxn];
10 int cost[maxn];
11 double prob[maxn];
12 int main() {
13     int n, m;
14     while(scanf("%d %d",&n, &m)  && ( n + m ) ) {
15         for(int i = 1; i <= m; i++) {
16             scanf("%d %lf",&cost[i], &prob[i]);
17         }
18         for(int i = 0; i <= n; i++) dp[i] = 1.0;
19         for(int i = 1; i <= m; i++) {
20             for(int j = n; j >= cost[i]; j--) {
21                 dp[j] = min(dp[j], dp[j - cost[i]] * (1.0 - prob[i]));
22             }
23         }
24         double ans = 1.0 -  dp[n];
25         ans *= 100;
26         printf("%.1lf%%\n",ans);
27     }
28     return 0;
29 }
View Code

 

HDU 1203 I NEED A OFFER!【01背包】

标签:style   blog   http   color   os   io   ar   for   art   

原文地址:http://www.cnblogs.com/zhanzhao/p/3945833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!