题目1110:小白鼠排队 Java

题目描述:

N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。

输入:

多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目。

下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。

注意:白鼠的重量各不相同。

输出:

每个案例按照白鼠的重量从大到小的顺序输出白鼠的帽子颜色。

样例输入:
3
30 red
50 blue
40 green
样例输出:
blue
green
red

这个自己写的,结果竟然会是PW!实在是找不到为什么!还望AC大牛可以解答解答!

import java.util.Scanner;

class M
{
    int Mouse_Weight[]=new int[1000];
    //char Mouse_color[][]=new char[1000][1000];
    String[] Mouse_color=new String[1000];
}
public class Main
{
  public static void main(String args[])
  {
      Scanner cin =new Scanner(System.in);
      while(cin.hasNext())
      {
          int Mouse_Num=cin.nextInt();
          M m=new M();          //小老鼠
          int i,j,k = 0;
          int tempWeight;
          String tempColor;
          for(i=0;i<Mouse_Num;i++)
          {
             m.Mouse_Weight[i]=cin.nextInt();   //分别取获取小老鼠的重量和颜色
            // m.Mouse_color[i]=cin.nextLine();
             m. Mouse_color[i]=cin.nextLine();
             //System.out.println(m.Mouse_color[i]+" "+m.Mouse_Weight[i]);
          }
          for(j=0;j<i;j++)
          {
              for(k=0;k<i;k++)
              {
                  if(m.Mouse_Weight[k]<m.Mouse_Weight[k+1])
                  {
                      tempWeight=m.Mouse_Weight[k];m.Mouse_Weight[k]=m.Mouse_Weight[k+1];m.Mouse_Weight[k+1]=tempWeight;
                      tempColor=m.Mouse_color[k];m.Mouse_color[k]=m.Mouse_color[k+1];m.Mouse_color[k+1]=tempColor;
                  }
              }
          }
          for(i=0;i<k;i++)
          {
              System.out.print(m.Mouse_color[i]);
              System.out.print("\n");
          }
          //System.out.print("\n");
      }
  }
}
/**************************************************************
    Problem: 1110
    User: Carvin
    Language: Java
    Result: Presentation Error
****************************************************************/
import java.util.Arrays;
import java.util.Scanner;
class Mous implements Comparable<Mous>{
    int num;
    String color;
    @Override
    public int compareTo(Mous i) {
        if(this.num>i.num){
            return -1;
        }else{
            return 1;
        }
    }

}
public class Main{

    static Mous mous[];
    static Mous mou;
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();
            mous = new Mous[n];
            for(int i=0;i<n;i++){
                mou = new Mous();
                mou.num=in.nextInt();
                mou.color=in.next();
                mous[i]=mou;
            }
            Arrays.sort(mous);
            for(int i=0;i<n;i++){
                System.out.println(mous[i].color);
            }
        }

    }

}
/**************************************************************
    Problem: 1110
    User: Carvin
    Language: Java
    Result: Accepted
    Time:120 ms
    Memory:18852 kb
****************************************************************/
时间: 2024-10-29 12:54:52

题目1110:小白鼠排队 Java的相关文章

1110.小白鼠排队

题目描述: N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子.现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色.帽子的颜色用"red","blue"等字符串来表示.不同的小白鼠可以戴相同颜色的帽子.白鼠的重量用整数表示. 输入: 多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目. 下面有N行,每行是一只白鼠的信息.第一个为不大于100的正整数,表示白鼠的重量,:第二个为字符串,表示白鼠的帽

2943:小白鼠排队-poj

2943:小白鼠排队 总时间限制:  1000ms 内存限制:  65536kB 描述 N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子.现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色.帽子的颜色用“red”,“blue”等字符串来表示.不同的小白鼠可以戴相同颜色的帽子.白鼠的重量用整数表示. 输入 输入第一行为一个整数N,表示小白鼠的数目.下面有N行,每行是一只白鼠的信息.第一个为不大于1000的正整数,表示白鼠的重量,:第二个为字符串,表示

小白鼠排队

题目描述 N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子.现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色.帽子的颜色用"red","blue"等字符串来表示.不同的小白鼠可以戴相同颜色的帽子.白鼠的重量用整数表示. 输入描述: 多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目. 下面有N行,每行是一只白鼠的信息.第一个为不大于100的正整数,表示白鼠的重量,:第二个为字符串,表示白鼠的

关于数字的智力题-小白鼠与毒药

题目: 有1000瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的药物,最少需要多少只小白鼠? 解答: 用二进制的思路去思考,1000瓶药代表了1000种状态,那么1000用二进制表示可以用一个10位的二进制数就可以全部表示出来,考虑用十只白鼠来试验,用0和1代表它们最终的状态即死亡或活着,初始状态十只白鼠表示为0000000000. 关于数字的智力题-小白鼠与毒药,布布扣,bubuko.com

小白鼠试毒药问题

题目如下: 实验室里有1000个一模一样的瓶子,但是其中的一瓶有毒.可以用实验室的小白鼠来测试哪一瓶是毒药.如果小白鼠喝掉毒药的话,会在一个星期的时候死去,其他瓶子里的药水没有任何副作用.请问最少用多少只小白鼠可以在一个星期以内查出哪瓶是毒药:    a. 9    b. 10    c. 32    d. 999    e. 以上都不对 这个题目很简单,拿来复习信息论和二进制编码的粗浅知识刚好合适. 首先呢,如果让我使用我的LabTop解题,那么简单了,用1000只小白鼠去试验,将瓶子和白鼠编

小白鼠试毒药,最少需要多少即可试出结果

有 1000  桶酒,其中 1  桶有毒.而一旦吃了,毒性会在 1  周后发作.现在我们用小老鼠做 实验,要在 1  周内找出那桶毒酒,问最少需要多少老鼠. 一只老鼠喝酒后又两种状态:死(0)和活(1). 所以10只老鼠就能表示2的10次方个状态(即1024个).2^0表示2的零次方.2^8表示2的8次方. 设有10只老鼠编号分别为2^0,2^1, 2^2, 2^3, 2^4, 2^5, 2^6, 2^7, 2^8, 2^9.有1000桶酒编号为1,2,3....一直到 1000. 任何一桶酒的

我是一只小白鼠

我是一只小白鼠,我可能很胆小.因为我害怕,我怕自己不够好.我怕被别人比下去.我怕我会落后.我怕学历不如别人.我怕我没有别人过得好... 所以我一直在努力,一直像一只小白鼠一样,不断试验着.我不会说:是被别人不断做试验,我想说:我是我的小白鼠,我是自己不断的试验.我在尝试着,尝试着去改变我的生活. 2010年我初中毕业,现在2016年了.偶尔会回想过去和现在,发现自己真的懂事了不少,对于我而言,三观早改了.很多时候我都感觉,我像是成功了一样的幸福感和幸运感.我今年22岁,我所指的成功,并非金钱或者

用小白鼠喝毒药

题设:有N瓶水,其中有一瓶水有剧毒,如果小白鼠喝了会在24小时的时候死亡. 问:用多少只小白鼠能够检测出哪瓶水有剧毒? 要求:用的小白鼠数量少并且用时要短,并给出合理的过程与结论. 我的解题思路如下: 这是一个二进制开关(0/1)问题,类比于海明码校验算法,将药水进行二进制编号(0000000,0000001,0000010,0000011...),算出至少多少位二进制能够将所有的小白鼠进行完全编号: 然后根据二进制的位数选取小白鼠,将小白鼠对应于相应二进制位,之后去依次遍历不同小白鼠的相同位,

《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学校复习,都希望你过好这个长假. 没有出去玩的也不用羡慕别人,利用这段时间充充电,不比去旅游看人头要好的多吗? 最近终于把我的原创文章整理成一本电子书了,趁着国庆开始之前发布出来,希望对你有所帮助. 这本电子书整理了我过去一年时间里在微信公众号[黄小斜]里创作的文章,包括Java学习.求职面试.成长心得.感悟思