迷之期望
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
FF 一直有一个梦想,就是把 CF 打到紫名。可是现在有一个问题, FF 并不是每场都能涨分。我们现在将这个问题简化,假设现在 FF 的分数为 x ,每一场增加 a 分的概率为 p ,增加 0 分的概率为 1-p ,现在请你计算一下 FF 突破 1700 的期望场数是多少。
输入
每组输入 x(0 <= x <= 1700) , a (0 <= a <= 100) , p (0 <= p <= 1),x,a为整数,p为浮点数 。
输出
每组输出输出一行。若能突破 1700 ,则输出一个浮点数代表答案,保留小数点后三位。
否则输出 Why are you so ben? 。
示例输入
1700 1 1
1699 100 1
0 0 0
示例输出
0.000
1.000
Why are you so ben?
\
\
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1000000];
int main()
{
int i,x,a,b;
double p,qw;
while(cin>>x>>a>>p)
{
if(x>=1700)
{
printf("0.000\n");
continue;
}
if(x>=0&&x<1700)
{
if(a==0||p==0)
puts("Why are you so ben?");
else//主要是在分数的差值是多少。
{
int b=1700-x;
if(b%a==0)// B/A表示所需要的场数
{
qw=(b/a)/p;
}
else
{
qw=( (b/a)+1)/p;//但是这里为什么要/而不是*呢?
}
printf("%.3lf\n",qw);
}
}
}
return 0;
}
\