首页 > 编程语言 >1100 校庆(JAVA)

1100 校庆(JAVA)

时间:2022-10-17 19:09:20浏览次数:46  
标签:JAVA HashMap 校庆 int 校友 身份证号 1100 new ArrayList


2019 年浙江大学将要庆祝成立 122 周年。为了准备校庆,校友会收集了所有校友的身份证号。现在需要请你编写程序,根据来参加校庆的所有人士的身份证号,统计来了多少校友。

输入格式:

输入在第一行给出不超过 105 的正整数 N,随后 N 行,每行给出一位校友的身份证号(18 位由数字和大写字母X组成的字符串)。题目保证身份证号不重复。

随后给出前来参加校庆的所有人士的信息:首先是一个不超过 105 的正整数 M,随后 M 行,每行给出一位人士的身份证号。题目保证身份证号不重复。

输出格式:

首先在第一行输出参加校庆的校友的人数。然后在第二行输出最年长的校友的身份证号 —— 注意身份证第 7-14 位给出的是 ​​yyyymmdd​​ 格式的生日。如果没有校友来,则在第二行输出最年长的来宾的身份证号。题目保证这样的校友或来宾必是唯一的。

输入样例:

5
372928196906118710
610481197806202213
440684198612150417
13072819571002001X
150702193604190912
6
530125197901260019
150702193604190912
220221196701020034
610481197806202213
440684198612150417
370205198709275042

输出样例:

3
150702193604190912

代码实现:

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

/**
* @author yx
* @date 2022-07-27 18:50
*/
public class Main {
static PrintWriter out=new PrintWriter(System.out);
static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
static StreamTokenizer in=new StreamTokenizer(ins);

public static void main(String[] args) throws IOException {
in.nextToken();
int N=(int) in.nval;
HashMap<String,Integer> xiaoYou=new HashMap<>();
HashMap<Integer,String> xiaoQin=new HashMap<>();
HashMap<Integer,String> xiaoQin1=new HashMap<>();
ArrayList<Integer> list=new ArrayList<>();
ArrayList<Integer> list1=new ArrayList<>();
int ans=0;
for (int i = 0; i < N ; i++) {
String s=ins.readLine();
xiaoYou.put(s,1);
}
in.nextToken();
int M=(int) in.nval;
for (int i = 0; i < M; i++) {
String s=ins.readLine();
int temp=Integer.parseInt(s.substring(6,14));
if(xiaoYou.containsKey(s)){
ans++;
list.add(temp);
xiaoQin.put(temp,s);
}else {
list1.add(temp);
xiaoQin1.put(temp,s);
}
}
System.out.println(ans);
if(ans!=0){
Collections.sort(list);
System.out.println(xiaoQin.get(list.get(0)));
}else {
Collections.sort(list1);
System.out.println(xiaoQin1.get(list1.get(0)));
}
}
}

1100 校庆(JAVA)_算法

 

标签:JAVA,HashMap,校庆,int,校友,身份证号,1100,new,ArrayList
From: https://blog.51cto.com/u_15754851/5763818

相关文章

  • 1102 教超冠军卷(JAVA)
    “教育超市”是拼题A系统的一个衍生产品,发布了各种试卷和练习供用户选购。在试卷列表中,系统不仅列出了每份试卷的单价,还显示了当前的购买人次。本题就请你根据这些信息找......
  • 1101 B是A的多少倍(JAVA)
    设一个数A的最低D位形成的数是ad。如果把ad截下来移到A的最高位前面,就形成了一个新的数B。B是A的多少倍?例如将12345的最低2位45截下来放到123的前面,就......
  • 1103 缘分数(JAVA)
    所谓缘分数是指这样一对正整数a和b,其中a和它的小弟a−1的立方差正好是另一个整数c的平方,而c正好是b和它的小弟b−1的平方和。例如83−73=169=132,而13=32+2......
  • 1105 链表合并(JAVA)
    给定两个单链表L1=a1→a2→⋯→an−1→an和L2=b1→b2→⋯→bm−1→bm。如果n≥2m,你的任务是将比较短的那个链表逆序,然后将之并入比较长的那个链表,得到一个形如a1→a2→......
  • 1107 老鼠爱大米(JAVA)
    翁恺老师曾经设计过一款Java挑战游戏,叫“老鼠爱大米”(或许因为他的外号叫“胖胖鼠”)。每个玩家用Java代码控制一只鼠,目标是抢吃尽可能多的大米让自己变成胖胖鼠,最胖的那......
  • 1108 String复读机(JAVA)
    给定一个长度不超过104的、仅由英文字母构成的字符串。请将字符重新调整顺序,按​​StringString....​​​(注意区分大小写)这样的顺序输出,并忽略其它字符。当然,六种字符......
  • 1109 擅长C(JAVA)
    当你被面试官要求用C写一个“HelloWorld”时,有本事像下图显示的那样写一个出来吗?输入格式:输入首先给出26个英文大写字母A-Z,每个字母用一个7×5的、由​​C​​​......
  • Java学习——Spring初学
    最近几天有在开始学习Spring框架开发,虽说学的比较晚,但是自我感觉学习的很快 笔记:1.Spring的出现,是为了高效的完成软件开发,依照软件设计模式的“高内聚低耦合”原则......
  • 解决 Error creating bean with name 'UserMapper' defined in file异常处理和Cause:
    Errorcreatingbeanwithname'UserMapper'definedinfile异常处理和Cause:java.lang.IllegalArgumentException:ResultMapscollectionalreadycontains这两个问......
  • CPU飙高问题排查,从linux到java代码
    第一步:top监测进程资源占用情况,获取异常进程编号。这一步可以获得异常占用进程号。第二步:psH-eopid,tid,%cpu|grepxxxx  H打印线程以及进程信息,-eo打印指定的字......