"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 (<=50000), 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 (<=10000) 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 23333Sample Output:
5 10000 23333 44444 55555 88888
标记每一对情侣,然后查看有情侣的,情侣是否在场就好。
代码:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int love[100000],haslove[100000],loveex[100000],a,b,c; int ans[10000],peo[10000],n,m; int main() { cin>>n; for(int i = 0;i < n;i ++) { cin>>a>>b; love[a] = b; love[b] = a; haslove[a] = 1; haslove[b] = 1; } cin>>m; for(int i = 0;i < m;i ++) { cin>>peo[i]; if(haslove[peo[i]])loveex[love[peo[i]]] = 1; } for(int i = 0;i < m;i ++) { if(!loveex[peo[i]])ans[c ++] = peo[i]; } sort(ans,ans + c); cout<<c<<endl; printf("%05d",ans[0]); for(int i = 1;i < c;i ++) printf(" %05d",ans[i]); }