钓鱼比赛

来源:互联网 发布:手机淘宝退款售后 删除 编辑:程序博客网 时间:2024/04/30 04:39
题目描述

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;} 


0 0