PAT乙級 1065. 單身狗(25) by Python

1065. 單身狗(25)

時間限制
300 ms
內存限制
65536 kB
代碼長度限制
8000 B
判題程序
Standard
做者
CHEN, Yue

「單身狗」是中文對於單身人士的一種愛稱。本題請你從上萬人的大型派對中找出落單的客人,以便給予特殊關愛。app

輸入格式:測試

輸入第一行給出一個正整數N(<=50000),是已知夫妻/伴侶的對數;隨後N行,每行給出一對夫妻/伴侶——爲方便起見,每人對應一個ID號,爲5位數字(從00000到99999),ID間以空格分隔;以後給出一個正整數M(<=10000),爲參加派對的總人數;隨後一行給出這M位客人的ID,以空格分隔。題目保證無人重婚或腳踩兩條船。spa

輸出格式:code

首先第一行輸出落單客人的總人數;隨後第二行按ID遞增順序列出落單的客人。ID間用1個空格分隔,行的首尾不得有多餘空格。blog

輸入樣例:
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 運行超時,未知錯誤get

相關文章
相關標籤/搜索