1. 程式人生 > >1121 Damn Single (25 分)

1121 Damn Single (25 分)

bsp ati 存儲 人的 pen 題意 ble positive spa

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
11111 22222
33333 44444
55555 66666
7
55555 44444 10000 88888 22222 11111 23333

Sample Output:

5
10000 23333 44444 55555 88888


題意:找出誰是“單身狗”。。。先輸入各對CP,然後再輸入參加party的人員,統計輸入的這些人裏哪些是沒有CP一起來的,升序輸出。

分析:水題。。我思路是用一個數組couple,初始化為-1(因為人的編號為00000-99999),作用是來存儲某人的CP,如11111的CP是22222,那麽couple[11111]=22222,couple[22222]=11111。最後因為要格式輸出,不知道叠代器怎麽格式輸出。。就先把結果存到了vector中,具體見代碼
 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 }

1121 Damn Single (25 分)