题目描述
ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?
IDEA
知道钓着一条鱼,情况由多种,我们考虑其对立事件,一条鱼到没钓到,概率为1-p,进过 t 事件,其至少钓到一条鱼的概率为1-(1-p)^t
cc的p=其所在格子的钓鱼概率
ss是随机选择每个格子,则选择每个格子的概率为1/n*m,则他钓到鱼的概率为 1/n*m * p1+1/n*m * p2+...=1/n*m *( p1+p2+...)
CODE
#include<iostream>
#include<fstream>
#include<cstdio>
#include<cmath>
using namespace std;
int main(){
int n,m,x,y,t;
while(cin>>n>>m>>x>>y>>t){
double ccp=0.0,ssp=0.0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
double p;
cin>>p;
if(x==i&&y==j) ccp=p;
ssp+=p;
}
}
ssp/=n*m;
if(ccp>ssp){
printf("cc\n");
printf("%.2f",1-pow(1-ccp,t));
}else if(ccp<ssp){
printf("ss\n");
printf("%.2f",1-pow(1-ssp,t));
}else {
printf("equal\n");
printf("%.2f",1-pow(1-ccp,t));
}
}
return 0;
}