sgu 495 Kids and Prizes

计算出每个人得到礼物的概率,然后加起来即可

 1 #include<iostream>
 2 #include<string.h>
 3 #include<algorithm>
 4 #include<stdio.h>
 5 using namespace std;
 6 double dp[101010];
 7 int main(){
 8     int n,m;
 9     while(cin>>n>>m){
10         dp[1]=1;
11         for(int i=2;i<=m;i++)
12             dp[i]=(1-dp[i-1])*dp[i-1]+dp[i-1]*(dp[i-1]-1.0/n);
13         double ans=0;
14         for(int i=1;i<=m;i++)
15             ans+=dp[i];
16         printf("%.10f\n",ans);
17     }
18 }

 

posted on 2014-07-31 21:42  天凉了  阅读(232)  评论(0编辑  收藏  举报

导航