[编程题] 好多鱼!(牛客网)
来源:互联网 发布:淘宝进货在哪里进 编辑:程序博客网 时间:2024/04/29 19:56
题目
牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证:1、放进去的鱼是安全的,不会被其他鱼吃掉2、这条鱼放进去也不能吃掉其他鱼鱼缸里面已经存在的鱼已经相处了很久,不考虑他们互相捕食。现在知道新放入鱼的大小范围[minSize,maxSize](考虑鱼的大小都是整数表示),牛牛想知道有多少种大小的鱼可以放入这个鱼缸。
输入描述:
输入数据包括3行.
第一行为新放入鱼的尺寸范围minSize,maxSize(1 ≤ minSize,maxSize ≤ 1000),以空格分隔。
第二行为鱼缸里面已经有鱼的数量n(1 ≤ n ≤ 50)
第三行为已经有的鱼的大小fishSize[i](1 ≤ fishSize[i] ≤ 1000),以空格分隔。输出描述:
输出有多少种大小的鱼可以放入这个鱼缸。考虑鱼的大小都是整数表示
输入例子:
1 12
1
1输出例子:
3
代码实现如下:
import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner scanner = new Scanner(System.in); int minSize = scanner.nextInt(); int maxSize = scanner.nextInt(); int n = scanner.nextInt(); int[] arrs = new int[n]; for (int i = 0; i < arrs.length; i++) { arrs[i] = scanner.nextInt(); } int count = 0; for (int i = minSize; i <= maxSize; i++) { boolean tag = true; for (int j = 0; j < arrs.length; j++) { if (!isChi(i, arrs[j]) || !isChi( arrs[j],i)) { tag = false; break; } } if (tag) { count++; } } System.out.println(count); } /** * A吃b * @param a * @param b * @return */ public static boolean isChi(int a,int b){ if (a >= (2*b) && a <= (10*b)) { return false; }else { return true; } } public static boolean isNotChi(int a,int b){ if (b >= (2*a) && b <= (10*a)) { return false; }else { return true; } }}
0 0
- [编程题] 好多鱼!(牛客网)
- [牛客网编程题] 好多鱼!
- [编程题] 好多鱼!
- [编程题]好多鱼!
- [编程题] 好多鱼!
- 【编程题】好多鱼!--大鱼吃小鱼问题
- 牛客网2017年校招全国统一模拟笔试(第一场)编程题 -- 好多鱼!
- 算法题:好多鱼(牛客网)
- 牛客网 好多鱼
- 牛客网-好多鱼
- 牛客网 好多鱼
- 牛客网 好多鱼!(java实现)
- 好多鱼!
- 好多鱼!
- 好多鱼
- 2017年校招全国统一模拟笔试(第一场)编程题集合——好多鱼
- 好多编程文章
- 好多编程文章
- C++深复制和浅复制的区别
- java内存配置详解
- “Beyond Compare 许可证密钥被撤销” 的解决办法
- 《ACM程序设计》书中题目X 第二十四题 电话号码
- HTML中form表单里的get和post的区别
- [编程题] 好多鱼!(牛客网)
- LeetCode-algorithms 48. Rotate Image
- 进程和线程的最大区别
- Python_06
- keytool Android签名工具
- 百度地图API(6)调用绘图api绘制几何图形覆盖物
- 驾驭<hr />标签
- 【目标检测】OpenCV中dnn模块的SSD demo运行
- 数组——二维数组中的查找