PAT乙级 1065. 单身狗(25) by Python
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级 1065. 单身狗(25) by Python相关的知识,希望对你有一定的参考价值。
1065. 单身狗(25)
时间限制
300 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。
输入格式:
输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数;随后N行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(<=10000),为参加派对的总人数;随后一行给出这M位客人的ID,以空格分隔。题目保证无人重婚或脚踩两条船。
输出格式:
首先第一行输出落单客人的总人数;随后第二行按ID递增顺序列出落单的客人。ID间用1个空格分隔,行的首尾不得有多余空格。
输入样例:3 11111 22222 33333 44444 55555 66666 7 55555 44444 10000 88888 22222 11111 23333输出样例:
5 10000 23333 44444 55555 88888
Python源码:
1 sum_couple = int(input()) 2 couples = [] 3 for i in range(sum_couple): 4 name = input() 5 a = name.split()[0] 6 b = name.split()[1] 7 c = ((a,b),(b,a)) 8 couples.extend(c) 9 dcouples=dict(couples) 10 11 sum_guest = int(input()) 12 guest = [] 13 str = input() 14 for i in range(sum_guest): 15 guest.append(str.split()[i]) 16 17 sum_single = 0 18 single = [] 19 for i in range(sum_guest): 20 if guest[i] in dcouples: 21 x=dcouples.get(guest[i]) 22 if x in guest: 23 sum_single-=1 24 else: 25 single.append(guest[i]) 26 else: 27 single.append(guest[i]) 28 29 print(len(single)) 30 if len(single)>0: 31 single.sort() 32 print(single[0],end=‘‘) 33 if len(single)>1: 34 for i in range(1,len(single)): 35 print(" ",end=‘‘) 36 print(single[i],end=‘‘)
结果:
测试点3 4 运行超时,未知错误
以上是关于PAT乙级 1065. 单身狗(25) by Python的主要内容,如果未能解决你的问题,请参考以下文章