【高效解法】1065 单身狗 (25分)_27行代码AC
立志用更少的代码做更高效的表达
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。
输入格式:
输入第一行给出一个正整数 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
输出样例:
5
10000 23333 44444 55555 88888
思考
本题难点在于如何匹配
定义数组a匹配夫妻间的编号, 定义数组b存放需查询的编号
对每个数组b中的编号,去数组a中查找,如果不存在伴侣,则一定为落单客人。
如果存在,则判断b中是否有该编号的伴侣, 如果没有,则为落单客人。
代码
#include<bits/stdc++.h>
#define Max 100010
using namespace std;
int a[Max], b[Max];
int main() {memset(a, -1, sizeof(a)); int n; cin >> n; while(n--) {int x1, x2; cin >> x1 >> x2;a[x1] = x2; a[x2] = x1;}vector<int>v;cin >> n; while(n--) {int x; cin >> x;b[x] = 1; }for(int i = 0; i < Max; i++) if(b[i] == 1) if(a[i] == -1 || b[a[i]] == 0) v.push_back(i);cout << v.size() << '\n';sort(v.begin(), v.end());for(int i = 0; i < v.size(); i++) {if(i != 0) cout << ' ';printf("%05d", v[i]);}return 0;
}
每日一句
每一个不曾起舞的日子,都是对生命的辜负。
【高效解法】1065 单身狗 (25分)_27行代码AC相关推荐
- 【题意+分析】1071 Speech Patterns (25 分)_27行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 People often have a preference among synonyms of the same word. F ...
- 1036 Boys vs Girls (25 分)_27行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 This time you are asked to tell the difference between the lowest ...
- 1017 Queueing at Bank (25 分)_27行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Suppose a bank has K windows open for service. There is a yellow ...
- 【PAT乙】1065 单身狗 (25分)
1065 单身狗 (25分) "单身狗"是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ ...
- 【简洁代码】1028 List Sorting (25 分)_26行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Excel can sort records according to any column. Now you are suppo ...
- 【PAT乙级】1065 单身狗 (25 分)
题目地址 #include<cstdio> #include<iostream> #include<string> #include<vector> # ...
- 【两种解法】1004 Counting Leaves (30 分)_27行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 A family hierarchy is usually presented by a pedigree tree. Your ...
- 【简便解法】1090 危险品装箱 (25分)_33行代码AC
立志用最少的代码做最高效的表达 PAT乙级最优题解-->传送门 集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里.比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸. 本题 ...
- 【最简解法】1048 Find Coins (25 分)_18行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Eva loves to collect coins from all over the universe, including ...
最新文章
- golang并发编程goroutine+channel(一)
- 【风险管理】金融业务风控相关框架
- 网页设计精粹:网页中那些迷人的按钮设计
- 必看2021年80后夫妻同时过信息系统项目管理师
- 【Python相关】jupyter平台最强插件没有之一
- 【JAVASCRIPT】处理剪切板
- SAP UI5 requireBusyDialog
- 使用Bean验证扩展PrimeFaces CSV
- 解决 error: Your local changes to the following files would be overwritten by merge:XXXX
- 算法的时间复杂度(python版容易理解)+常用的时间复杂度、python代码--数据结构
- 使程序在Windows任务管理器隐藏
- API函数之GetUserName
- vue点击添加一行输入框_vue 点击按钮增加一行的方法
- C语言是一个什么样的语言
- 用python的django完成一个登录小案例
- Python 阶段性总结《抽奖系统》(文末附代码地址)
- CTR --- NFM论文阅读笔记,及tf2复现
- Python 拼接多张尺寸大小不一样的图片制作长图
- 爬取沪江网考研词汇并按要求存为txt
- dialog弹框通过自定义指令实现可拖拽位移功能
热门文章
- Trie(字典树) : 如何实现搜索引擎的关键词提示功能?
- Error:java: 无效的标记 -version 编译错误的解决办法
- Java8 日期/时间(Date Time)API指南
- 深入理解数据库核心技术
- 十一资讯 | 字节跳动进军汽车云;Twitch被黑;Facebook宕机;Netfilx收购游戏公司……...
- Google发布Objectron数据集
- JVM之XX参数详解
- Amazon Aurora 深度探索
- 贾扬清撰文详解Caffe2:从强大的新能力到入门上手教程
- Electron开发入门