2013 Multi-University Training Contest 5 k-th point

时间:2023-03-09 19:37:43
2013 Multi-University Training Contest 5  k-th point

刚开始我也不知道怎么做,后来慢慢就推出来了……

对于样例

2 1 0,结果是2/3

2 2 0,结果是4/5

3 2 0,结果是6/7

3 2 1,结果是9/14=6/7*3/4

……

之后就会发现每一项都是d/(d+1);而d又是怎样来的呢?

上面的d分别是2*1;2*2;3*2,3*1……

所以规律就出来,哈哈……

看代码:

 #include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int t,n,p,k,i;
double ans;
cin>>t;
while(t--)
{
cin>>p>>n>>k;
ans=1.0;
for(i=n;i>=n-k;i--){
double an=1.0*p*i;
ans*=(an/(an+));
}
printf("%.9lf\n",ans);
}
return ;
}