6824. 【2020.10.17提高组模拟】英雄联盟(lol)

it2023-08-31  80

Description

Input

共一行,包含一个正整数 x。含义详见题面。 

Output

输出一行一个实数,表示答案。 

Sample Input

99

Sample Output

1

Data Constraint

Solution

要求砍 10100000001010000000 刀, 其实可以直接看作无穷大.

最后要求输出的答案为 期望暴击数/总刀数, 就是暴击率, 可以发现取倒数一下其实就是 期望多少刀暴击一刀.

那么就只需要计算 期望多少刀暴击一刀, 然后取倒数就是答案.

枚举第i刀的时候暴击,那么前面i-1刀都不暴击。

期望为

暴力算即可.

Code 

#include<cstring> #include<cstdio> #include<algorithm> #include<cmath> #define I int #define ld long double #define F(i,a,b) for(I i=a;i<=b;i++) #define N 105 using namespace std; I n; ld ans,x,a,b; ld min(ld x,ld y){return x<y?x:y;} I main(){ freopen("lol.in","r",stdin); freopen("lol.out","w",stdout); scanf("%d",&n); x=(ld)n/100; b=1; F(i,1,ceil(1/x)){ a=b*(1-(ld)x*i); ans+=i*min(1.0,i*x)*b; b=a; } ans=1/ans; printf("%.04Lf\n",ans); return 0; }

 

最新回复(0)