PAT-B 1065 單身狗【對映+集合】
PAT-B 1065 單身狗
https://pintia.cn/problem-sets/994805260223102976/problems/994805266942377984
題目
“單身狗”是中文對於單身人士的一種愛稱。本題請你從上萬人的大型派對中找出落單的客人,以便給予特殊關愛。
輸入
輸入第一行給出一個正整數 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
分析
用map<int,int>記錄每個人的伴侶,用set<int>記錄到場的人,如果客人本身沒有伴侶或者有伴侶但是伴侶沒來,則進行統計,具體看程式。
C++程式
#include<iostream>
#include<algorithm>
#include<set>
#include<map>
using namespace std;
map<int,int>d;//存放配偶的資訊
set<int>s;//存放到場的客人
int main()
{
int n,m,a,b;
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
d[a]=b;//a、b互為伴侶
d[b]=a;
}
scanf("%d",&m);
while(m--)
{
scanf("%d",&a);
s.insert(a);
}
int num=0;
//遍歷到場的人
for(set<int>::iterator it=s.begin();it!=s.end();it++)
if(d.count(*it)==0||s.count(d[*it])==0)//如果客人*it本身沒有伴侶或者有伴侶但是伴侶沒來
num++;
printf("%d\n",num);
bool flag=false;
for(set<int>::iterator it=s.begin();it!=s.end();it++)
if(d.count(*it)==0||s.count(d[*it])==0)
{
if(flag) printf(" ");
printf("%05d",*it);
flag=true;//標記已經有輸出了
}
if(flag) printf("\n");
return 0;
}
相關文章
- 【PAT乙級】1065 單身狗
- 單身狗——排序2排序
- PAT-B 1042 字元統計 【對映】字元
- PAT-B 1039 到底買不買【對映】
- PAT-B 1041 考試座位號【對映】
- 單身狗進化(C語言)C語言
- PAT-B 1021 個位數統計【對映】
- PAT-B 1025 反轉連結串列【模擬+對映】
- PAT-B 1038 統計同成績學生【對映】
- 做一猥瑣的而高潔的單身狗
- 一步一步實現單身狗雨
- PAT-B 1068 萬綠叢中一點紅【對映+陣列】陣列
- PAT-B 1093 字串A+B 【集合】字串
- 《Haven》評測:向單身狗擲出一枚大火球
- Hibernate--單表對映總結
- rust學習九.3-集合之雜湊對映表Rust
- 映客變身映宇宙,換名易破壁難
- PAT-B 1087 有多少不同的值【集合】
- 對映
- 單身狗福利!利用java實現每天給物件發情話,脫單指日可待!Java物件
- 多重對映
- MyBatis(四) 對映器配置(自動對映、resultMap手動對映、引數傳遞)MyBatis
- [非專業翻譯] Mapster - 對映前&對映後
- 【轉載】告別“低能量”的自己,從“創業狗”變身成“創業瘋狗”!創業
- Cache對映方式
- WSL 埠對映
- 09 對映(mappings)APP
- "剁手"節電商員工加班到淚目:請把雙11還給單身狗
- PAT-B 1069 微博轉發抽獎【模擬+集合】
- Linux埠對映是什麼?如何進行埠對映?Linux
- linux下簡單好用的埠對映轉發工具rinetdLinux
- JPA關係對映系列四:many-to-many 關聯對映
- MapStruct屬性對映Struct
- 對映本地圖片地圖
- MapStruct實體對映Struct
- VMware Fusion 埠對映
- Mybatis結果對映MyBatis
- Docker-埠對映Docker