PAT乙 1065 單身狗 25分

2021-10-03 05:16:48 字數 1644 閱讀 2088

1065 單身狗 (25分)

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

輸入格式:

輸入第一行給出乙個正整數 n(≤ 50 000),是已知夫妻/伴侶的對數;隨後 n 行,每行給出一對夫妻/伴侶——為方便起見,每人對應乙個 id 號,為 5 位數字(從 00000 到 99999),id 間以空格分隔;之後給出乙個正整數 m(≤ 10 000),為參加派對的總人數;隨後一行給出這 m 位客人的 id,以空格分隔。題目保證無人重婚或腳踩兩條船。

輸出格式:

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

輸入樣例:

311111 22222

33333 44444

55555 66666

755555 44444 10000 88888 22222 11111 23333

輸出樣例:

510000 23333 44444 55555 88888

思路就是map判斷兩人是否是cp,set判斷cp來了沒有

然後掃一遍set,沒cp的或者有cp但是沒來的加到ans裡面去。

10mins可以寫完的題目愣是做了40mins,讀錯題+10,格式不對+20,感覺pingti這oj的格式特別鬼畜,一定要小心。

還有寫完題之後,一定要想特殊樣例,一共也就5個點,特判加它個3個不就ac了麼(逃

#include

#include

#include

#include

#include

using

namespace std;

intmain()

int m; cin>>m;

vector<

int>ans;

set<

int>t;

for(

int i =

1; i <= m; i++

)for

(set<

int>

::iterator it = t.

begin()

; it != t.

end(

); it++)if

(!t.

count

(cp[

*it]

))ans.

push_back

(*it);}

if(ans.

size()

==0)//mmp

cout

<<

"\n"

;sort

(ans.

begin()

,ans.

end())

;for

(int i =

0; i < ans.

size()

-1; i++

)printf

("%05d "

,ans[i]);

//mmp

printf

("%05d"

,ans[ans.

size()

-1])

;//mmp

return0;

}

PAT 乙級 1065 單身狗(25 分)

輸入第一行給出乙個正整數 n 50 000 是已知夫妻 伴侶的對數 隨後 n 行,每行給出一對夫妻 伴侶 為方便起見,每人對應乙個 id 號,為 5 位數字 從 00000 到 99999 id 間以空格分隔 之後給出乙個正整數 m 10 000 為參加派對的總人數 隨後一行給出這 m 位客人的 i...

PAT 1065 單身狗 25 分

單身狗 是中文對於單身人士的一種愛稱。本題請你從上萬人的大型派對中找出落單的客人,以便給予特殊關愛。輸入第一行給出乙個正整數 n 50 000 是已知夫妻 伴侶的對數 隨後 n 行,每行給出一對夫妻 伴侶 為方便起見,每人對應乙個 id 號,為 5 位數字 從 00000 到 99999 id 間以...

PAT乙級 1065 單身狗(25分)

題目描述 單身狗 是中文對於單身人士的一種愛稱。本題請你從上萬人的大型派對中找出落單的客人,以便給予特殊關愛。輸入格式 輸入第一行給出乙個正整數 n 50 000 是已知夫妻 伴侶的對數 隨後 n 行,每行給出一對夫妻 伴侶 為方便起見,每人對應乙個 id 號,為 5 位數字 從 00000 到 9...