zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯VIP 算法提高 班级排名

    算法提高 班级排名
    时间限制:1.0s 内存限制:256.0MB
    问题描述
      达达在陶陶的影响下,也对学习慢慢的产生了兴趣。
      他在每次考试之后,都会追着老师问,自己在班级的总名次是多少。考试一多,老师也不耐烦了,于是他给了达达所有人的成绩,让他自己去算出自己的排名。
      可人太多了,达达也无法立即算出来,于是他想让你帮帮他。
    输入格式
      第一行为一个整数N,代表班级的学生总数。
      接下来N行,每行一个字符串,代表一个学生的姓名,第一行总是DaDa。
      接下来一行一个整数M,代表一共有M次考试。
      每次考试有N行,每行有以一个空格分隔的一个正整数S和一个字符串P,代表名字为P的学生在这次考试中得了S分。
    输出格式
      一共M行,每行一个整数,代表达达在班级里的排名,排名是这一次考试过后的所有考试总分排名,如果达达和别人并列,达达总是排在前面。
    样例输入
    3
    DaDa
    A
    B
    2
    49 DaDa
    49 A
    48 B
    80 A
    85 B

    83 DaDa

    【样例输出】
    1
    2
    数据规模和约定
      N <= 100,名字长度不超过30,分数不超过100

    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
    
    
    public class 班级排名 {
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int n=Integer.parseInt(sc.nextLine());
    		String[] name=new String[n];
    		for (int i = 0; i < n; i++) {
    			name[i]=sc.nextLine();
    		}
    		int m=Integer.parseInt(sc.nextLine());
    		int[] score=new int[n];
    		int[] score1=new int[n];
    		int[] p=new int[m];
    		int DaDaScore=0;
    		Map<String,Integer> map=new HashMap<String, Integer>();
    		for (int i = 0; i < m; i++) {
    			for (int j = 0; j < n; j++) {
    				String[] ss=sc.nextLine().split(" ");
    				if(map.get(ss[1])!=null){
    					score[j]=map.get(ss[1])+Integer.parseInt(ss[0]);
    					map.put(ss[1], score[j]);
    				}
    				else{
    					score[j]=Integer.parseInt(ss[0]);
    					map.put(ss[1], score[j]);
    				}
    				score1[j]=score[j];
    				if(ss[1].equals("DaDa")){
    					DaDaScore=score[j];
    				}
    			}
    			Arrays.sort(score1);
    			for (int j = score1.length-1; j >=0; j--) {
    				if(score1[j]==DaDaScore){
    					p[i]=n-j;
    					break;
    				}
    			}
    		}
    		for (int i = 0; i < p.length; i++) {
    			System.out.println(p[i]);
    		}
    	}
    
    }
    
    
  • 相关阅读:
    LeetCode Path Sum II
    LeetCode Longest Palindromic Substring
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Binary Tree Maximum Path Sum
    LeetCode Find Peak Element
    LeetCode Maximum Product Subarray
    LeetCode Intersection of Two Linked Lists
    一天一个设计模式(1)——工厂模式
    PHP迭代器 Iterator
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078339.html
Copyright © 2011-2022 走看看