1121 Damn Single (25 分)
|
1121?Damn Single?(25 分)
"Damn Single (单身狗)" is the Chinese nickname for someone who is being single. You are supposed to find those who are alone in a big party,so they can be taken care of. Input Specification:Each input file contains one test case. For each case,the first line gives a positive integer N (≤?50,000),the total number of couples. Then N lines of the couples follow,each gives a couple of ID‘s which are 5-digit numbers (i.e. from 00000 to 99999). After the list of couples,there is a positive integer M (≤?10,000) followed by M ID‘s of the party guests. The numbers are separated by spaces. It is guaranteed that nobody is having bigamous marriage (重婚) or dangling with more than one companion. Output Specification:First print in a line the total number of lonely guests. Then in the next line,print their ID‘s in increasing order. The numbers must be separated by exactly 1 space,and there must be no extra space at the end of the line. Sample Input:3 22222 22222 33333 44444 55555 66666 7 55555 44444 10000 88888 22222 22222 23333 Sample Output:5 10000 23333 44444 55555 88888 1 /** 2 * Copyright(c) 3 * All rights reserved. 4 * Author : Mered1th 5 * Date : 2019-02-27-21.51.47 6 * Description : A1121 7 */
8 #include<cstdio>
9 #include<cstring>
10 #include<iostream>
11 #include<cmath>
12 #include<algorithm>
13 #include<string>
14 #include<unordered_set>
15 #include<map>
16 #include<vector>
17 #include<set>
18 using namespace std; 19 const int maxn=100010; 20 int couple[maxn]={-1}; 21 int main(){ 22 #ifdef ONLINE_JUDGE 23 #else
24 freopen("1.txt","r",stdin); 25 #endif
26 int n,m,u,v,t; 27 scanf("%d",&n); 28 for(int i=0;i<n;i++){ 29 scanf("%d%d",&u,&v); 30 couple[u]=v; 31 couple[v]=u; 32 } 33 scanf("%d",&m); 34 vector<int> tem; 35 for(int i=0;i<m;i++){ 36 scanf("%d",&t); 37 tem.push_back(t); 38 } 39 set<int> ans; 40 for(int i=0;i<m;i++){ 41 int coup=couple[tem[i]]; 42 if(coup==-1) ans.insert(tem[i]); 43 else{ 44 if(find(tem.begin(),tem.end(),coup)==tem.end()){ 45 ans.insert(tem[i]); 46 } 47 } 48 } 49 cout<<ans.size()<<endl; 50 vector<int> res; 51 for(auto it=ans.begin();it!=ans.end();it++){ 52 res.push_back(*it); 53 } 54 for(int i=0;i<res.size();i++){ 55 printf("%05d",res[i]); 56 if(i!=res.size()-1) printf(" "); 57 } 58 return 0; 59 }
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
