Problem V
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.
V" title="Problem V">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.
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 .
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.
3
0.02
0.03
0.05
3
0.03
0.03
0.05
3
0.03
0.02
0.05
#include
#include
#define maxn 105
using namespace std;
double dp[maxn*maxn],hold[maxn*maxn];
int cost[maxn*maxn];
int main()
{
//freopen("in.txt", "r", stdin);
int
t,n,total_cost;
double
p;
scanf("%d",&t);
while(t--)
{
scanf("%lf %d",&p,&n);
p=1-p;//安全逃走的概率
total_cost=0;
for(int i=0;i
{
scanf("%d %lf",&cost[i],&hold[i]);
hold[i]=1-hold[i];
total_cost+=cost[i];
}
for(int i=1;i<=total_cost;i++)
dp[i]=0;
dp[0]=1;//什么也没偷安全的概率就是1;
for(int i=0;i
for(int j=total_cost;j>=cost[i];j--)
{
dp[j]=max(dp[j],dp[j-cost[i]]*hold[i]);
}
for(int i=total_cost;i>=0;i--)
if(dp[i]-p>0.00000000001)
{
printf("%d\n",i);
break;
}
}
return
0;
}
Problem V的更多相关文章
- 1254 Problem V
问题 V: 光棍的yy 时间限制: 1 Sec 内存限制: 128 MB 提交: 42 解决: 22 [提交][状态][讨论版] 题目描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见1 ...
- Problem V: 零起点学算法20——输出特殊值II
#include<stdio.h> int main() { printf("\\n"); ; }
- 2015-2016 ACM-ICPC Pacific Northwest Regional Contest (Div. 2)V - Gears
Problem V | limit 4 secondsGearsA set of gears is installed on the plane. You are given the center c ...
- 菜鸟带你飞______DP基础26道水题
DP 158:11:22 1205:00:00 Overview Problem Status Rank (56) Discuss Current Time: 2015-11-26 19:11:2 ...
- [kuangbin带你飞]专题十四 数论基础
ID Origin Title 111 / 423 Problem A LightOJ 1370 Bi-shoe and Phi-shoe 21 / 74 Problem B ...
- Simple Addition
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=31329#problem/V 使用题目所给函数,单单从某一个数字来看,就是直接求这个数各个 ...
- Fibinary Numbers
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=30506#problem/V 题意:从右向左,每一个位数,分别表示一个fibonacci数 ...
- Maximum GCD(fgets读入)
Maximum GCD https://vjudge.net/contest/288520#problem/V Given the N integers, you have to find the m ...
- HDU 4513 吉哥系列故事――完美队形II(Manacher)
题目链接:cid=70325#problem/V">[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher V - 吉哥系列故事――完美队形I ...
随机推荐
- [UIKit学习]07.关于如何选择UIButton、UILable、UIImageView
如何选择UIButton.UILable.UIImageView 在不添加手势的前提下,只要不涉及到点击和多状态表现就尽量不要选择UIButton
- Thinkphp5.0 在自己定义一个公共方法的控制器并且继承了Controller类的时候报错
在建立网站的时候,你通常想着把一些共有的方法提取出来,放入一个控制器内,如果你是将业务逻辑写入了构造函数里面,那么就得注意了. 在thinkphp5.0当中,有一个初始化的方法,类似于构造函数,那就是 ...
- spring cloud+dotnet core搭建微服务架构:服务发现(二)
前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...
- BZOJ2748_音量调节_KEY
[HAOI2012]音量调节 Time Limit: 3 Sec Memory Limit: 128 MB Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以 ...
- HADOOP源码分析之RPC(1)
源码位于Hadoop-common ipc包下 abstract class Server 构造Server protected Server(String bindAddress, int port ...
- Tomcat启动错误【Error listenerStart】
今天启动Tomcat启动不了,报以下错: org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerSt ...
- BP算法
1986年Rumelhart和McCelland在<并行分布式处理>中提出了BP算法,即非线性连续变换函数的多层感知器网络误差反向传播算法. 该算法的思想是:学习过程分为信号的正向传播与误 ...
- HDU1698 线段树(区间更新区间查询)
In the game of DotA, Pudge's meat hook is actually the most horrible thing for most of the heroes. T ...
- 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA
开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...
- System.Object简介
Object中的公共方法解释: 公共方法: Equals: public class Object { public virtual Boolean Equals(Object obj) { //如果 ...