厚度2955

原创 2012年03月21日 22:22:10

Robberies

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3367    Accepted Submission(s): 1251


Problem Description
The aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guys usually gets caught in the end, often because they become too greedy. He has decided to work in the lucrative business of bank robbery only for a short while, before retiring to a comfortable job at a university.


For a few months now, Roy has been assessing the security of various banks and the amount of cash they hold. He wants to make a calculated risk, and grab as much money as possible.


His mother, Ola, has decided upon a tolerable probability of getting caught. She feels that he is safe enough if the banks he robs together give a probability less than this.
 

Input
The first line of input gives T, the number of cases. For each scenario, the first line of input gives a floating point number P, the probability Roy needs to be below, and an integer N, the number of banks he has plans for. Then follow N lines, where line j gives an integer Mj and a floating point number Pj . 
Bank j contains Mj millions, and the probability of getting caught from robbing it is Pj .
 

Output
For each test case, output a line with the maximum number of millions he can expect to get while the probability of getting caught is less than the limit set.

Notes and Constraints
0 < T <= 100
0.0 <= P <= 1.0
0 < N <= 100
0 < Mj <= 100
0.0 <= Pj <= 1.0
A bank goes bankrupt if it is robbed, and you may assume that all probabilities are independent as the police have very low funds.
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
struct BANK
{
    int money;
    double risk;
}bank[105];
double dp[10009];//dp[j]   rob  money j,the risk of not being caught is dp[j]
double MAX(double a,double b)
{
       if (a > b) return a;
       return b;
}
int main()
{
    int T,N; double P;
    cin>>T;
    while (T--)
    {
        int sum=0;
        scanf("%lf %d",&P,&N);
        for (int i=1;i<=N;i++)
        {
            cin>>bank[i].money>>bank[i].risk;
            sum+=bank[i].money;
        }
        P=1-P;//means security
        for (int i=0;i<=sum;i++)     dp[i]=0;
        dp[0]=1;
        for (int i=1;i<=N;i++)
        {
            for (int j=sum; j>=bank[i].money;j--)
            {
                dp[j]=MAX(dp[j],dp[j-bank[i].money]*(1-bank[i].risk));
            }
        }
        for (int i=sum;i>=0;i--)
        {
            if (dp[i] >= P)
            {
                printf("%d\n",i);
                break;
            }
        }
    }
}



poj2955(区间dp)

Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4468   Accepted: 2372 ...
  • d_x_d
  • d_x_d
  • 2015年09月02日 21:47
  • 474

poj2955 Brackets--最大括号匹配数

Description We give the following inductive definition of a “regular brackets” sequence: the...
  • u013023344
  • u013023344
  • 2014年08月13日 10:42
  • 938

如何查看光驱硬盘托架的尺寸

也许你会有装两个硬盘的需求,但一般笔记本只有一个硬盘接口,你就需要把其中一块硬盘安装到光驱上,这时你需要一个光驱托架。好的,到淘宝或京东买一个,你到网上一查,这下你就傻眼了:什么光驱还分尺寸?什么12...
  • luoweifu
  • luoweifu
  • 2015年06月06日 01:46
  • 54030

各种尺寸单位详解,px, dp, sp...

1. 英寸 。1in = 2.54cm 2.px :1px代表屏幕上一个物理的像素点。 3.dp: 像素密度:每英寸包含的像素点数,单位dpi (Dots Per Inch)。        ...
  • ywb201314
  • ywb201314
  • 2015年09月28日 21:37
  • 909

巧用api提升钣金设计装配 1 - iLogic与Inventor API

上周四我们举办了讲座【活动】AU大师汇在线研讨会-巧用api提升钣金设计装配. 讲座的材料和视频需要等待一些时候上载完毕。这里我将其中的内容逐次贴出来,供大家参考。 课程首先介绍到iLogic也...
  • autodeskinventorapi
  • autodeskinventorapi
  • 2013年09月30日 10:59
  • 1098

30岁,为生命积累厚度

在最近的一年的职场规划咨询过程中,我明显地感觉到35岁以上人群对于职业生涯规划需求的迫切性。也正是从这些案例中,我们得以清晰地洞察到,时间点的把握对于一个人的成长如何起着决定性的作用。    在...
  • fanlu319
  • fanlu319
  • 2014年05月14日 23:39
  • 391

太阳系及银河系尺寸的直观概念

前些日子在网上看到一篇科普文章,用图片的形式表示了从地球的尺寸到整个银河系的尺寸,看后很是震撼,于是想要做进一步直观的对比。         先从地月系来比较,以最小单位一毫米算,就把月球直径看做是...
  • yangsh3002
  • yangsh3002
  • 2016年12月05日 00:48
  • 940

PCB层叠设计一般规则-整理

最近再画小尺寸的PCB,尺寸大约在15mm*5mm左右,查到了一些关于PCB层叠管理的资料,放在这里作为以后参考的设计,希望大家一起交流讨论。 1.PCB层叠设计一般规则: (1).地层与信号层之间应...
  • boy_mey
  • boy_mey
  • 2017年01月10日 20:02
  • 496

POJ 2955-Brackets(括号匹配-区间DP)

Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5484   Acc...
  • MIKASA3
  • MIKASA3
  • 2016年05月28日 10:09
  • 1021

maya中实时置换效果 dx11shader

maya2014以及以上就能用这种效果了,可以更高效地预览置换效果 特别是做次时代游戏的时候,如果使用maya制作,可以通过这种方式观察一些使用到置换效果的物件 而且用这种方式可以加速渲染,效果类...
  • shenmifangke
  • shenmifangke
  • 2016年07月08日 22:36
  • 1625
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:厚度2955
举报原因:
原因补充:

(最多只允许输入30个字)