1065. 单身狗(25)
来源:互联网 发布:手机logo免费设计软件 编辑:程序博客网 时间:2024/05/14 21:21
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。
输入格式:
输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数;随后N行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(<=10000),为参加派对的总人数;随后一行给出这M位客人的ID,以空格分隔。题目保证无人重婚或脚踩两条船。
输出格式:
首先第一行输出落单客人的总人数;随后第二行按ID递增顺序列出落单的客人。ID间用1个空格分隔,行的首尾不得有多余空格。
输入样例:311111 2222233333 4444455555 66666755555 44444 10000 88888 22222 11111 23333输出样例:
510000 23333 44444 55555 88888
#include<cstdio> #include<cstring> #define N 100000 using namespace std; int p[N],p1[N]; int n,m,a,b; int main(){ memset(p,0,sizeof(p)); scanf("%d",&n); for(int i=0 ;i<n ;i++){ scanf("%d%d",&a,&b); p[a]=b; p[b]=a; } scanf("%d",&m); for(int i=0 ;i<m ;i++){ scanf("%d",&p1[i]); } for(int i=0 ;i<m ;i++){ if(p[p1[i]]==0){ p[p1[i]]=-1; } else if(p[p1[i]]==1){ } else if(p[p1[i]]==-1){ } else{ for(int j=i+1 ;j<m ;j++){ if(p[p1[i]]==p1[j]){ p[p1[i]]=1; p[p1[j]]=1; break; } } if(p[p1[i]]!=1) p[p1[i]]=-1; } } int cnt = 0; for(int i=0 ;i<N ;i++){ if(p[i]==-1){ cnt++; } } printf("%d\n",cnt); int flag =1; for(int i=0 ;i<N ;i++){ if(p[i]==-1){ if(flag){ flag=0; printf("%05d",i); }else{ printf(" %05d",i); } } } return 0; }
阅读全文
0 0
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 1065. 单身狗(25)
- 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路
- Jmeter参数化-用户参数
- 1064. 朋友数(20)
- Android自定义UI文章汇总
- 中缀表达式转后缀表达式
- 1065. 单身狗(25)
- 一次性解决Java程序中的乱码问题
- BZOJ 1015: [JSOI2008]星球大战starwar kevin_xcw
- Ijkplayer播放视频的简单使用,可以暂停继续(二)
- 深入解析Linux 常用命令--arping
- 跳过异常继续执行
- 1067. 试密码(20)
- linux下快速启动tomcat脚本
- 商品搜索的实现