7-7 救救倒霉鬼
倒霉鬼抗着一大箱银行票据去邮寄,却不慎掉进了西湖…… 他奋力游上岸并且顺便抢救了一些票据。但还是有一些票据落到了西湖底必须补做…… 于是请你写程序帮帮倒霉鬼,给他列出来需要重新补做的票据有哪些?
输入格式:
输入首先给出全部一箱票据的信息:在第一行给出不超过 105 的正整数 N,随后 N 行,每行给出一张票据的编号。题目保证编号不重复。
随后是抢救回来的票据的信息,首先是一个小于 N 的非负整数 M,随后 M 行,每行给出一份抢救回来的票据的编号。题目保证编号存在。
编号为长度不超过 12 的、由英文字母和数字组成的字符串。
输出格式:
按字典序递减输出丢失的票据的编号,每个编号占一行。
输入样例:
tex
5
A20190289
B20018372
A19873001
T27346900
B00247834
3
T27346900
A19873001
B20018372
5
A20190289
B20018372
A19873001
T27346900
B00247834
3
T27346900
A19873001
B20018372
输出样例:
tex
B00247834
A20190289
B00247834
A20190289
Solution:
java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(in.readLine());
Set<String> tickets = new TreeSet<>(Comparator.reverseOrder());
for (int i = 0; i < n; i++) {
tickets.add(in.readLine());
}
int m = Integer.parseInt(in.readLine());
Set<String> find = new HashSet<>();
for (int i = 0; i < m; i++) {
find.add(in.readLine());
}
tickets.removeAll(find);
StringBuilder sb = new StringBuilder();
for (String ticket : tickets) {
sb.append(ticket).append("\n");
}
System.out.print(sb);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(in.readLine());
Set<String> tickets = new TreeSet<>(Comparator.reverseOrder());
for (int i = 0; i < n; i++) {
tickets.add(in.readLine());
}
int m = Integer.parseInt(in.readLine());
Set<String> find = new HashSet<>();
for (int i = 0; i < m; i++) {
find.add(in.readLine());
}
tickets.removeAll(find);
StringBuilder sb = new StringBuilder();
for (String ticket : tickets) {
sb.append(ticket).append("\n");
}
System.out.print(sb);
}
}