zoukankan      html  css  js  c++  java
  • poj2151

    求每只队伍都回答出题目,且至少有一只队伍回答出n道题的概率
    存在性问题我们可以转化为任意性问题
    用P(每支队伍都回答出题目)-P(每只队伍回答的题目数小于n)
    然后我们可以递推求解

     1 var f:array[0..1010,0..35,0..35] of double;
     2     p:array[0..1010,0..35] of double;
     3     k,i,j,n,m,t:longint;
     4     s,ans,tmp:double;
     5 
     6 begin
     7   while not eof do
     8   begin
     9     readln(n,t,m);
    10     if (n=0) and (t=0) and (m=0) then break;
    11     for i:=1 to t do
    12     begin
    13       for j:=1 to n do
    14         read(p[i,j]);
    15       readln;
    16     end;
    17     fillchar(f,sizeof(f),0);
    18     for i:=1 to t do
    19     begin
    20       f[i,0,0]:=1;
    21       for j:=1 to n do
    22       begin
    23         f[i,j,0]:=f[i,j-1,0]*(1-p[i,j]);
    24         for k:=1 to j do
    25           f[i,j,k]:=f[i,j-1,k-1]*p[i,j]+f[i,j-1,k]*(1-p[i,j]); //f[i,j,k]表示第i支队前j道题答出k题的概率
    26       end;
    27     end;
    28     ans:=1;
    29     for i:=1 to t do
    30       ans:=ans*(1-f[i,n,0]);
    31     tmp:=1;
    32     for i:=1 to t do
    33     begin
    34       s:=0;
    35       for j:=1 to m-1 do
    36         s:=s+f[i,n,j];  //答出题目出数<n满足加法原理
    37       tmp:=tmp*s;  //每队都小于满足乘法原理
    38     end;
    39     ans:=ans-tmp;
    40     writeln(ans:0:3);
    41   end;
    42 end.
    View Code
  • 相关阅读:
    在JS中如何去掉千分号
    JS中showModalDialog详细使用
    js里的insertCell和appendChild的区别
    js showModalDialog
    js中innerHTML,innerText,outerHTML的用法和区别
    MYSQL入门指导
    对拍程序C语言实现
    人性的弱点
    POJ3207(2SAT)
    期末考试时间安排
  • 原文地址:https://www.cnblogs.com/phile/p/4473123.html
Copyright © 2011-2022 走看看