zoukankan      html  css  js  c++  java
  • 第1题:好多鱼!

    牛牛有一个鱼缸。鱼缸里面已经有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

    代码:
    //思路是:用2个数组分别存放鱼缸里的鱼和新捕捉的鱼,判断:
    //当鱼缸里鱼的大小是新捕捉鱼的2倍到10时,删除新捕捉鱼数组对应的数
    //反过来,当新捕捉鱼的大小是鱼缸里鱼的2倍到10时,删除新捕捉鱼数组对应的数
    //用了ArrayList,但是在循环里面进行删除操作还是有问题,所有用置零替换删除
    //最后统计非零的个数即可
    import java.util.*;
    public class Main {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int minSize=sc.nextInt();//获取输入参数
            int maxSize=sc.nextInt();
            int n=sc.nextInt();
            int[] fishSize=new int[n];
            for(int i=0;i<n;i++){
                fishSize[i]=sc.nextInt();//鱼缸里的鱼的大小
            }
            List<Integer> putSize=new ArrayList<Integer>();
            for(int i=0;i<maxSize-minSize+1;i++){//新捕捉的鱼的大小
                putSize.add(minSize+i);
            }
            for(int i=0;i<n;i++){//删除掉是鱼缸里已有鱼大小的2到10倍的鱼
                for(int j=0;j<putSize.size();j++){
                    if(putSize.get(j)>=2*fishSize[i]&&putSize.get(j)<=10*fishSize[i]){
                        putSize.set(j, 0);
                    }
                }
            }
            for(int i=0;i<putSize.size();i++){//反过来,鱼缸里已有鱼的大小可能是要放入鱼的2到10倍,也删除要放入的鱼
                for(int j=0;j<n;j++){
                    if(fishSize[j]>=2*putSize.get(i)&&fishSize[j]<=10*putSize.get(i)){
                        putSize.set(i, 0);
                    }
                }
            }
            int count=0;
            for(int i=0;i<putSize.size();i++){
                if(putSize.get(i)!=0)
                    count++;
            }
            System.out.println(count);
            sc.close();
        }
    }
  • 相关阅读:
    jQuery 语法
    jQuery 简介
    把数据存储到 XML 文件
    XML 注意事项
    XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。
    通过 PHP 生成 XML
    XML 命名空间(XML Namespaces)
    XML to HTML
    XMLHttpRequest 对象
    使用 XSLT 显示 XML
  • 原文地址:https://www.cnblogs.com/dengyt/p/7070162.html
Copyright © 2011-2022 走看看