1065 单身狗(JAVA)

简介: “单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

 

“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

输入格式:

输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。

输出格式:

首先第一行输出落单客人的总人数;随后第二行按 ID 递增顺序列出落单的客人。ID 间用 1 个空格分隔,行的首尾不得有多余空格。

输入样例:

3
11111 22222
33333 44444
55555 66666
7
55555 44444 10000 88888 22222 11111 23333

image.gif

输出样例:

5
10000 23333 44444 55555 88888

image.gif

代码实现:

import java.io.*;
import java.util.*;
/**
 * @author yx
 * @date 2022-07-24 0:17
 */
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<Integer, Integer> map = new HashMap<>();
        HashMap<Integer, Integer> map1 = new HashMap<>();
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < N; i++) {
            in.nextToken();
            int n = (int) in.nval;
            in.nextToken();
            int m = (int) in.nval;
            //夫妻关系or情侣关系,互相联系
            map.put(n, m);
            map.put(m, n);
        }
        in.nextToken();
        int M = (int) in.nval;
        for (int i = 0; i < M; i++) {
            in.nextToken();
            map1.put((int) in.nval, 1);
        }
        for (int i : map1.keySet()) {
            if (!map1.containsKey(map.get(i))) {
                set.add(i);
            }
        }
        ArrayList<Integer> list = new ArrayList<>(set);
        Collections.sort(list);
        System.out.println(list.size());
        if (list.size() != 0) {
            for (int i = 0; i < list.size() - 1; i++) {
                out.print(list.get(i) + " ");
            }
            out.printf("%05d", list.get(list.size() - 1));
        }
        out.flush();
    }
}

image.gif

相关文章
|
Shell Linux 网络安全
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
320 0
|
Linux API C++
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南(一)
【C++ 17 新特性 文件管理】探索C++ Filesystem库:文件和目录操作的全面指南
2814 3
|
12月前
|
NoSQL 安全 Java
解决Unknown redis exception及event executor terminated错误的方法
解决这类问题时,保持耐心和细致是关键。通常,通过系统地检查和排除潜在原因,大多数问题最终都能被解决。
1812 1
|
存储 数据库 索引
B树与B+树区别
B树与B+树区别
3133 1
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的党建信息管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的党建信息管理系统附带文章和源代码部署视频讲解等
64 0
利用微搭低代码实现附件的上传和下载
利用微搭低代码实现附件的上传和下载
利用微搭低代码实现附件的上传和下载
|
测试技术 Go
Go 单测入门篇:Golang 单元测试基本使用
Go 单测入门篇:Golang 单元测试基本使用
|
存储 Java Shell
数据存储与访问——文件存储读写
本节给大家介绍的是Android数据存储与访问方式中的一个——文件存储与读写,当然除了这种方式外,我们可以存到SharedPreference,数据库,或者Application中。
121 0
|
Linux
odoo 开发入门教程系列-一个新应用
odoo 开发入门教程系列-一个新应用
308 0
|
编解码 开发工具 图形学
Unity 之 发布WebGL并部署到GitHub供外部访问 (Unity | WebGL | GitHub | 内嵌网页)
一文教你Unity发布WebGl并上传到GitHub提供外部访问,开启页游之旅~
3307 1
Unity 之 发布WebGL并部署到GitHub供外部访问 (Unity | WebGL | GitHub | 内嵌网页)