1100 校庆

一时失言乱红尘 2024-04-03 08:25 133阅读 0赞

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

输入格式:

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

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

输出格式:

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

输入样例:

  1. 5
  2. 372928196906118710
  3. 610481197806202213
  4. 440684198612150417
  5. 13072819571002001X
  6. 150702193604190912
  7. 6
  8. 530125197901260019
  9. 150702193604190912
  10. 220221196701020034
  11. 610481197806202213
  12. 440684198612150417
  13. 370205198709275042

输出样例:

  1. 3
  2. 150702193604190912
  3. import java.io.BufferedReader;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.ArrayList;
  8. import java.util.HashSet;
  9. import java.util.Scanner;
  10. /**
  11. * @author sihua
  12. * @create 2022-10-02-13:23
  13. */
  14. public class Main {
  15. public static void main(String[] args) throws Exception {
  16. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  17. //输入校友身份证号
  18. int n = Integer.parseInt(reader.readLine());
  19. HashSet<Object> list1 = new HashSet<>();
  20. while (n-- > 0) {
  21. list1.add(reader.readLine());
  22. }
  23. //输入来宾身份账号并比较年龄
  24. int m = Integer.parseInt(reader.readLine());
  25. int num = 0;
  26. int min = 30001212;
  27. String haoma = null;
  28. while (m-- > 0) {
  29. String id = reader.readLine();
  30. if (Integer.parseInt(id.substring(6,14)) < min) {//HashSet集合元素从1开始
  31. min = Integer.parseInt(id.substring(6,14));
  32. haoma=id;
  33. }
  34. if (!list1.add(id)) {
  35. num++;
  36. }
  37. }
  38. System.out.println(num + "\n" + haoma);
  39. }
  40. }

发表评论

表情:
评论列表 (有 0 条评论,133人围观)

还没有评论,来说两句吧...

相关阅读

    相关 1100 校庆

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

    相关 1100 校庆(JAVA)

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

    相关 Zju1100 Mondriaan

    题目描述 有一个m行n列的矩阵,用1\2的骨牌(可横放或竖放)完全覆盖,骨牌不能重叠,有多少种不同的覆盖的方法? 你只需要求出覆盖方法总数mod p的值即可。 输

    相关 TJU1100

    问题的本质是对于4个数组,每一个数组求一个分拆使两部分差最小。典型的DP。不过当时做的时候DP还学得不咋地,所以还是用搜索的办法~~还好也ac了 ![None.gif]