首页 > 其他 > 详细

fzu1342

时间:2014-10-01 13:29:01      阅读:243      评论:0      收藏:0      [点我收藏+]

http://acm.fzu.edu.cn/problem.php?pid=1342

 

dp[i][j]  , i位尾巴为j的概率

const  int  maxn = 1008 ;
double  dp[maxn][12] ;

int  main(){
     int i , j , n , k  ;
     double  t  ;

     while(cin>>k>>n){

          for(i = 0 ; i <= k ; i++) dp[1][i] = 100.0 / double(k+1) ;

          for(i = 2 ; i <= n ; i++){
              dp[i][0] = (dp[i-1][0] + dp[i-1][1]) / double(k+1) ;
              for(j = 1 ; j < k ; j++)
                 dp[i][j] = (dp[i-1][j-1] + dp[i-1][j] + dp[i-1][j+1]) / double(k+1) ;
              dp[i][k] =  (dp[i-1][k-1] + dp[i-1][k]) / double(k+1) ;
          }

          for(t = 0.0 , i = 0  ; i <= k ; i++) t += dp[n][i] ;

          printf("%.5lf\n" , t) ;

     }
     return 0 ;
}

  

 

fzu1342

原文:http://www.cnblogs.com/liyangtianmen/p/4003187.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!