PAT_A 1121. Damn Single (25)
2017-03-04 09:06
393 查看
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 (<=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 23333
Sample Output:
5
10000 23333 44444 55555 88888
分析:就是找出参加party的人中没有对象和没带对象的人。
code:
#include<iostream> #include<cstdio> #include<vector> using namespace std; int data[100010]; int v[100010]; int N; int M; vector<int>out; int main() { for(int i=0;i<100010;i++) { data[i]=-1; v[i]=0; } cin>>N; int tmp=0; int tmp2=0; for(int i=0;i<N;i++) { cin>>tmp>>tmp2; if(tmp<tmp2) { data[tmp]=tmp2; data[tmp2]=-3; }else { data[tmp2]=tmp; data[tmp]=-3; } } cin>>M; int count=0; for(int i=0;i<M;i++) { cin>>tmp; v[tmp]=1; if(data[tmp]>=0) { data[data[tmp]]--; }else { data[tmp]--; } } for(int i=0;i<100010;i++) { if(v[i]==0) continue; if(data[i]==-2||data[i]==-4) { count++; out.push_back(i); } if(data[i]>=0) { if(data[data[i]]==-4) { count++; out.push_back(i); } } } cout<<out.size()<<endl; for(int i=0;i<out.size();i++) { printf("%05d",out.at(i)); if(i+1==out.size()) cout<<endl; else cout<<" "; } return 0; }
相关文章推荐
- PAT - 甲级 - 1121. Damn Single (25)
- PAT (Advanced Level)1121. Damn Single (25)第二个测 4000 试点过不去,求助
- 1065. 单身狗(25) PAT乙级&&1121. Damn Single (25) PAT 甲级
- PAT :1121. Damn Single (25) 第二个测试点过不去 希望能有知道的大佬指点
- PAT--1121. Damn Single (25)
- PAT (Advanced Level) Practise 1121 Damn Single (25)
- PAT (Advanced Level) Practise 1121 Damn Single (25)
- PAT甲级 1121. Damn Single (25)
- 【PAT】【Advanced Level】1121. Damn Single (25)
- PAT甲题题解-1121. Damn Single (25)-水题
- 1121. Damn Single (25)-PAT甲级真题
- PAT 甲级 1121. Damn Single (25)
- pat甲级 1121. Damn Single (25)
- 1121. Damn Single (25)
- 1121. Damn Single (25)
- 1121. Damn Single (25)解题报告
- 【PAT】1121. Damn Single
- 1121. Damn Single (25)
- 1121. Damn Single (25)
- 1121. Damn Single (25)[数学逻辑]