记录编号 101001 评测结果 AAAAAAAAAA
题目名称 [POJ 1322] Chocolate 最终得分 100
用户昵称 Gravatarcstdio 是否通过 通过
代码语言 C++ 运行时间 0.332 s
提交时间 2014-05-09 16:37:13 内存使用 1.16 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<vector>
  6. using namespace std;
  7. const int SIZEN=1010,SIZEC=110;
  8. int c,n,m;
  9. double f[SIZEN][SIZEC]={0};
  10. bool work(void){
  11. scanf("%d",&c);
  12. if(!c) return false;
  13. scanf("%d%d",&n,&m);
  14. if(m>n||m>c||((n-m)&1)){
  15. printf("0.000\n");
  16. return true;
  17. }
  18. memset(f,0,sizeof(f));
  19. f[0][0]=1;
  20. if(n>1000) n=1000+(n&1);
  21. for(int i=1;i<=n;i++){
  22. for(int j=0;j<=c;j++){
  23. f[i][j]+=f[i-1][j+1]*(j+1.0)/(c+0.0);
  24. if(j>0) f[i][j]+=f[i-1][j-1]*(c-j+1.0)/(c+0.0);
  25. }
  26. }
  27. printf("%.3lf\n",f[n][m]);
  28. return true;
  29. }
  30. int main(){
  31. freopen("poj1322_chocolate.in","r",stdin);
  32. freopen("poj1322_chocolate.out","w",stdout);
  33. while(work());
  34. return 0;
  35. }