当前位置:网站首页>AcWing——4269校庆
AcWing——4269校庆
2022-06-12 07:15:00 【Java咩】
题号.名称
一、测试链接
二、题目分析
| 难度:简单 |
|---|
| 时/空限制:0.8s / 64MB |
| 来源:PAT甲级真题1157 |
算法标签: 哈希表 |
三、题目描述
2019 2019 2019 年浙江大学将要庆祝成立 122 122 122 周年。
为了准备校庆,校友会收集了所有校友的身份证号。
现在需要请你编写程序,根据来参加校庆的所有人士的身份证号,统计来了多少校友。
输入格式
输入在第一行给出正整数 N N N 。
随后 N N N 行,每行给出一位校友的身份证号( 18 18 18 位由数字和大写字母 X X X 组成的字符串)。题目保证身份证号不重复。
随后给出前来参加校庆的所有人士的信息:
首先是一个正整数 M M M 。
随后 M M M 行,每行给出一位人士的身份证号。题目保证身份证号不重复。
输出格式
首先在第一行输出参加校庆的校友的人数。
然后在第二行输出最年长的校友的身份证号 —— 注意身份证第 7 − 14 7−14 7−14 位给出的是 y y y y m m d d yyyymmdd yyyymmdd 格式的生日。
如果没有校友来,则在第二行输出最年长的来宾的身份证号。题目保证这样的校友或来宾必是唯一的。
数据范围
1 ≤ N , M ≤ 1 0 5 1≤N,M≤10^5 1≤N,M≤105
输入样例:
5
372928196906118710
610481197806202213
440684198612150417
13072819571002001X
150702193604190912
6
530125197901260019
150702193604190912
220221196701020034
610481197806202213
440684198612150417
370205198709275042
输出样例:
3
150702193604190912
四、代码
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
schoolCelebration();
}
private static void schoolCelebration() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Set<String> set = new HashSet();
for (int i = 0; i < n; i++) {
set.add(sc.next());
}
int m = sc.nextInt();
int count = 0;
StringBuilder resSb = new StringBuilder("999999999999999999");
StringBuilder guestSb = new StringBuilder("999999999999999999");
for (int i = 0; i < m; i++) {
StringBuilder newSb = new StringBuilder(sc.next());
if (set.contains(newSb.toString())) {
count++;
if (older(newSb, resSb)) {
resSb = newSb;
}
}
if (count == 0 && older(newSb, guestSb)) {
guestSb = newSb;
}
}
System.out.println(count);
System.out.println(count == 0 ? guestSb : resSb);
}
private static boolean older(StringBuilder newSb, StringBuilder sb) {
for (int i = 0; i < 8; i++) {
if (newSb.charAt(6 + i) < sb.charAt(6 + i)) {
return true;
} else if(newSb.charAt(6 + i) > sb.charAt(6 + i)) {
return false;
}
}
return true;
}
}
写在后面
欢迎关注,实现期间会经常发一些工作中遇到的问题。
欢迎随时留言讨论,与君共勉,知无不答!
边栏推荐
- Cron expression and website generation
- Day 4 of pyhon
- 私有协议的解密游戏:从秘文到明文
- Set up a remote Jupiter notebook
- RT thread studio learning (VII) using multiple serial ports
- Pyhon的第五天
- 2022电工(初级)考试题库及模拟考试
- 2022起重机械指挥考试题模拟考试平台操作
- Decryption game of private protocol: from secret text to plaintext
- When SQL server2019 is installed, the next step cannot be performed. How to solve this problem?
猜你喜欢

最近面了15个人,发现这个测试基础题都答不上来...

Postman splice replacement parameter loop call interface

TypeScript基础知识全集

FCPX插件:简约线条呼出文字标题介绍动画Call Outs With Photo Placeholders for FCPX

Troubleshooting of cl210openstack operation -- Chapter experiment

Drawing grid navigation by opencv map reading

leetcode.39 --- 组合总和

sql server 2019安装出现错误,如何解决

Installation and use of eigen under vs2017

Detailed explanation of memory addressing in 8086 real address mode
随机推荐
Source code learning - [FreeRTOS] privileged_ Understanding of function meaning
6 functions
Can official account also bring goods?
Imx6q pwm3 modify duty cycle
Test manager defines and implements test metrics
libprint2
Detailed explanation of multi coordinate transformation in ROS (example + code)
Imx6q PWM drive
Esp8266 firmware upgrade method (esp8266-01s module)
Construction of running water lamp experiment with simulation software proteus
Postman splice replacement parameter loop call interface
leetcode. 39 --- combined sum
最近面了15个人,发现这个测试基础题都答不上来...
Scons compiling imgui
RT thread studio learning summary
[Li Kou] curriculum series
应届生苦恼:是去华为拿1万多低薪,还是去互联网拿2万多高薪
5 statement
Android studio uses database to realize login and registration interface function
Scons编译IMGUI