UVA 11427 Expect the Expected(DP+概率)
链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35396
【思路】
DP+概率
见白书。
【代码】
1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 5 const int N = 100+10; 6 7 int n,a,b; 8 double f[N][N]; 9 10 int main() { 11 int T,kase=0; 12 scanf("%d",&T); 13 while(T--) { 14 scanf("%d/%d%d",&a,&b,&n); 15 double p=(double)a/b; 16 memset(f,0,sizeof(f)); 17 f[0][0]=1; 18 for(int i=1;i<=n;i++) 19 for(int j=0;j*b<=a*i;j++) { 20 f[i][j]=f[i-1][j]*(1-p); 21 if(j) f[i][j] += f[i-1][j-1]*p; 22 } 23 double Q=0; 24 for(int j=0;j*b<=a*n;j++) Q += f[n][j]; 25 printf("Case #%d: %d\n",++kase,(int)(1/Q)); 26 } 27 return 0; 28 }
posted on 2016-01-28 16:18 hahalidaxin 阅读(236) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步