题目描述

ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子每分钟有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?

输入描述:
第一行五个整数n,m,x,y,t(1≤n,m,t≤1000,1≤x≤n,1≤y≤m);接下来为一个n*m的矩阵,每行m个一位小数,共n行,第i行第j个数代表坐标为(i,j)的格子钓到鱼的概率为p(0≤p≤1)
输出描述:
输出两行。第一行为概率大的人的名字(cc/ss/equal),第二行为这个概率(保留2位小数)
输入例子:
2 2 1 1 10.2 0.10.1 0.4
输出例子:
equal0.20

解题看完题目,疑问的是随机选一个位置,这个用随机数生成吗?当次数比较小的时候,受这个随机数影响的,但是也就写了下来,发现运行不对,看后面讨论发现:通过求解均值来代替概率原程序

import java.util.Random;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();int m = in.nextInt();int x = in.nextInt();int y = in.nextInt();int t = in.nextInt();double[][] A = new double[n][m];Random rand = new Random();for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){A[i][j] = in.nextDouble();}}int randX ;int randY ;double Pc = 1.0;double Ps = 1.0;while((t--)>0){Pc = Pc*(1-A[x - 1][ y-1]);randX = rand.nextInt(n);randY = rand.nextInt(m);Ps = Ps*(1-A[randX][randY]);}Pc = 1 - Pc;Ps = 1 - Ps;if(Pc-Ps>=0.01){System.out.println("cc");System.out.println(new DecimalFormat("0.00").format(Pc));}else if(Pc-Ps<=-0.01){System.out.println("ss");System.out.println(new DecimalFormat("0.00").format(Ps));}else{System.out.println("equal");System.out.println(new DecimalFormat("0.00").format(Pc));}}}
}

Java Code

均值代替概率值

Java不能一个数一个数的读,不然时间通不过,一次读一行可以

import java.lang.Math;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);String[] line;double p;while(in.hasNext()){line = in.nextLine().split(" ");int n = Integer.parseInt(line[0]);int m = Integer.parseInt(line[1]);int x = Integer.parseInt(line[2]);int y = Integer.parseInt(line[3]);int t = Integer.parseInt(line[4]);double Pc = 0.0;double Ps = 0.0;for(int i = 0;i<n;i++){line = in.nextLine().split(" ");for(int j = 0;j<m;j++){p = Double.parseDouble(line[j]);Ps += p;if(i == x-1 && j == y-1){Pc = 1 - Math.pow(1-p,t);}}}Ps = Ps/(m*n);Ps = 1 - Math.pow(1-Ps,t);if(Pc-Ps>=0.01){System.out.println("cc");System.out.println(new DecimalFormat("0.00").format(Pc));}else if(Pc-Ps<=-0.01){System.out.println("ss");System.out.println(new DecimalFormat("0.00").format(Ps));}else{System.out.println("equal");System.out.println(new DecimalFormat("0.00").format(Pc));}}in.close();}
}

转载于:https://www.cnblogs.com/theskulls/p/5307449.html

2016百度编程题:钓鱼比赛相关推荐

  1. [编程题] 钓鱼比赛

    [编程题] 钓鱼比赛 ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子每分钟有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子.问t分钟后他们谁至少钓到一条鱼的 ...

  2. 京东2016校招编程题

    记得有一个大题,说的是给定一个n*n的矩阵,要求从1开始填充矩阵,最后的矩阵是蛇形的.即如下: n=3,      7 8    1 6  9    2 5  4   3 n=4,    10 11 ...

  3. 2016蘑菇街编程题:搬圆桌

    题目描述 现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1).每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转.问最少需要移动几步. 输入描述: 一行 ...

  4. 2016京东编程题:年终奖

    年终奖 题目描述 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要 ...

  5. 滴滴出行2016校招编程题

    1. 给定一个m*n的数组(m,n>=2,数组值>=0),要求选出和最大的子2*2数组.例如: 1 2 3 4 5 6 7 8 9 显然和最大的2*2子数组是5 6;8 9.下面完成这个功 ...

  6. 合唱团(2016网易编程题)

    题目: 有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘 ...

  7. 【2020-3-29】百度编程题

    1.翻硬币 题目描述 桌子上放着N枚硬币,将其从1到N编号,初始时有的正面朝上,有的反面朝上.现在要将所有硬币翻至正面朝上,每次可选择一个区间[L,R](1≤L≤R≤N),并执行以下两种操作的一种: ...

  8. 2016京东编程题:小东分苹果

    小东分苹果 题目描述 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔 ...

  9. 2016蘑菇街编程题:投篮游戏

    题目描述 有一个投篮游戏.球场有p个篮筐,编号为0,1...,p-1.每个篮筐下有个袋子,每个袋子最多装一个篮球.有n个篮球,每个球编号xi .规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋 ...

最新文章

  1. 没听说过这些,就不要说你懂并发了,three。
  2. linux mysql互为主从_mysql互为主从配置(双主模型)
  3. 台式电脑键盘f1是计算机怎么取消,开机F1怎么取消,教您开机F1怎么取消
  4. 赞!Google 资深软件工程师 LeetCode 刷题笔记首次公开
  5. java登录界面命令_Java命令行界面(第16部分):JArgp
  6. Asp.net TextBox常规输入验证
  7. [Kali][VMware][2020][窗口大小][分辨率]高分辨率自适应
  8. kibana 后台启动
  9. 王者荣耀故事站小程序源码/含vue后台
  10. MyBatis学习总结(21)——自定义MyBatis Generator插件
  11. USB2.0 描述符
  12. 【5G核心网】 GTP协议
  13. C语言|控制台小游戏|打飞机(基础功能版)
  14. 其实也有缺点,比如一个很短的词恰恰在结尾,也会被截断
  15. 巧妙使用css美化网页
  16. 一位北大才子的光棍节情诗
  17. Struts1.x 登录实验-无数据库版
  18. CGLIB介绍与原理
  19. 关于esxi主机上vm无法ping通edge网关设备ip的处理
  20. 外汇交易与实务--外汇交易市场

热门文章

  1. 解决Debian安装后中文乱码
  2. 微服务业务体系内对复用的深度探讨
  3. Redis 的主从复制太强大了!
  4. 很遗憾,没有一篇文章能讲清楚ZooKeeper
  5. 一个妹子的美团面试经历,成功拿到 Offer
  6. git入门:概念、原理、使用
  7. python locale模块_使用python2.X的locale模块格式化数字和货币
  8. mysql 分析执行计划的效率_MySQL执行计划分析
  9. 佳能g3800故障灯说明书_汽车仪表灯的使用方法以及注意事项
  10. Facebook全球宕机近7小时,传有15亿用户数据泄漏,市值蒸发千亿