java 金牌、银牌、铜牌

原创 2018年04月16日 22:51:30
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        String[] name=new String[n];
        int[] score=new int[n];
        
        int i=0;
        for(i=0;i<n;i++)
        {
            name[i]=sc.next();
            score[i]=sc.nextInt();
        }
        
        while(sc.hasNext())
        {
            String x = sc.next();
            int flag=1;
            switch(x)
            {
                case "A":
                    int  t=0;
                    String u="a";
                    score=Arrays.copyOf(score, score.length+1);
                    name=Arrays.copyOf(name, name.length+1);
                    name[name.length-1]=sc.next();
                    score[score.length-1]=sc.nextInt();
                    for(i=name.length-1;i>0;i--)
                    {
                        if(score[i]>score[i-1])
                        {
                            t=score[i-1];score[i-1]=score[i];score[i]=t;
                            u=name[i-1];name[i-1]=name[i];name[i]=u;
                        }
                    }
                    break;
                    
                case "Q":
                    int l;
                    String qname = sc.next();
                    for(i=0;i<name.length;i++)
                    {
                        if(qname.equals(name[i])==true)
                        {
                            for(l=i;l<name.length-1;l++)
                            {
                                name[l]=name[l+1];
                                score[l]=score[l+1];
                            }
                        }
                    }
                    score=Arrays.copyOf(score, score.length-1);
                    name=Arrays.copyOf(name, name.length-1);
                    break;
                    
                case "C":
                    int h;
                    String aname = sc.next();
                    int add = sc.nextInt();
                    for(i=0;i<name.length;i++)
                    {
                        if(aname.equals(name[i])==true)
                        {
                            score[i]+=add;
                        }
                    }
                    for(h=i-1;h>0;h--)
                    {
                        if(score[h]>score[h-1])
                        {
                            t=score[h-1];score[h-1]=score[h];score[h]=t;
                            u=name[h-1];name[h-1]=name[h];name[h]=u;
                        }
                    }
                    break;
                    
                case "S":
                    for(i=0;i<name.length;i++)
                    {
                        System.out.println(name[i]+" "+score[i]);
                    }
                    break;
                    
                case "O":
                    int j=0, k=0, m=0;
                    flag=0;
                    System.out.print("#1 : "+name[j]);
                    j++;
                    while(true)
                    {
                        if(score[j]==score[k])
                        {
                            System.out.print(" "+name[j]);
                            j++;
                        }
                        else break;
                    }
                    System.out.println("");
                    System.out.print("#2 :");
                    for(m=2;m>0;m--)
                    {
                        k=j;
                        System.out.print(" "+name[j]);
                        j++;
                        while(true)
                        {
                            if(score[j]==score[k])
                            {
                                System.out.print(" "+name[j]);
                                j++;
                            }
                            else break;    
                        }
                    }
                    System.out.println();
                    System.out.print("#3 :");
                    for(m=3;m>0;m--)
                    {
                        k=j;
                        System.out.print(" "+name[j]);
                        j++;
                        while(true)
                        {
                            if(score[j]==score[k])
                            {
                                System.out.print(" "+name[j]);
                                j++;
                            }
                            else break;    
                        }
                    }
                    System.out.println();
                    break;
            }
            if(flag==0) break;
        }
        sc.close();
    }
}

sdut2057金牌、银牌、铜牌

#include #include #include struct node { char name[25]; int data; struct node *next;...
  • dreamzuora
  • dreamzuora
  • 2016年11月06日 15:15
  • 409

SDUTOJ 2057 金牌、银牌、铜牌 ——链表的插入排序法

金牌、银牌、铜牌 Time Limit: 1000MS Memory limit: 65536K 题目描述 Acm——大学中四大竞赛之首——是极具挑战性的大学生竞赛形式。在一场a...
  • u013014691
  • u013014691
  • 2015年03月24日 20:57
  • 1082

SDUT OJ 金牌、银牌、铜牌

金牌、银牌、铜牌 Time Limit: 1000MS Memory limit: 65536K 题目描述 Acm——大学中四大竞赛之首——是极具挑战性的大学生竞赛形式。在一场a...
  • jinshiyan1995
  • jinshiyan1995
  • 2015年04月15日 23:56
  • 978

金牌、银牌、铜牌

金牌、银牌、铜牌 Time Limit: 1000MS Memory limit: 65536K 题目描述 Acm——大学中四大竞赛之首——是极具挑战性的大学生竞赛形式。在一场a...
  • u013476670
  • u013476670
  • 2014年02月20日 21:29
  • 721

金牌 银牌 铜牌

金牌、银牌、铜牌 Time Limit: 1000MSMemory Limit: 65536KB SubmitStatistic Problem Description Acm——大学中四...
  • qq_36915686
  • qq_36915686
  • 2016年12月07日 22:27
  • 183

2057-->金牌,银牌,铜牌

金牌、银牌、铜牌 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description ...
  • zhb_666
  • zhb_666
  • 2017年07月31日 12:17
  • 115

金牌、银牌、铜牌--链表

这道题是链表常规题中很经典的一道题目,充分利用了链表当中的多种操作,存储,有一定的难度,但是当你理解这道题你一定会受益匪浅,此题会不断完善解题思路及有关解释,力求将此题解透。 完整题目题面:金牌、银...
  • RUO_CHEN_Liang
  • RUO_CHEN_Liang
  • 2017年05月07日 19:44
  • 147

金牌、银牌、铜牌 oj

金牌、银牌、铜牌 Time Limit: 1000MS Memory Limit: 65536KB Problem Description Acm——大学中四大竞赛之首——是极具挑战性的大...
  • sdut_jk17_zhangming
  • sdut_jk17_zhangming
  • 2018年01月29日 08:23
  • 34

金牌、银牌、铜牌(C语言)

#include #include #include struct ns {     char name[21];     int m;     struct ns *next; }; st...
  • huaxuewan
  • huaxuewan
  • 2016年07月30日 17:26
  • 123

金牌、银牌、铜牌 (sdut oj)

金牌、银牌、铜牌 Time Limit: 1000MS Memory Limit: 65536KB Problem Description Acm——大学...
  • SwordsMan98
  • SwordsMan98
  • 2017年03月12日 12:54
  • 176
收藏助手
不良信息举报
您举报文章:java 金牌、银牌、铜牌
举报原因:
原因补充:

(最多只允许输入30个字)