迷之期望
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;
}
本文介绍了一个简单的数学模型,用于计算玩家从当前分数达到目标分数(如竞技游戏中达到紫名等级)所需的平均比赛场数。讨论了不同参数对期望场数的影响,并提供了实现代码。

被折叠的 条评论
为什么被折叠?



