PAT 1065 單身狗 25 分

2021-09-26 14:50:24 字數 1344 閱讀 3122

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

輸入第一行給出乙個正整數 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

一共申明3個陣列,1個存放夫妻,1個存放所有客人,1個存放有物件且物件來了的人(i***ist)

先判斷是否有伴侶,如果有伴侶,則令伴侶的值為1(代表物件的物件【即自己】來了派對)存進i***ist中

比如客人id為55555,伴侶為66666,則令i***ist[66666] = 1;遍歷的時候i***ist[55555]是不存在的,則說明66666沒有來派對。

遍歷i***ist,若值不存在則存進set陣列裡,並輸出,輸出注意%05d,題目說明id號為(00000-99999)

參考柳神

#include 

#include

#include

#include

using namespace std;

intmain()

int m;

cin >> m;

vector<

int>

guest

(m),

i***ist

(100000);

set<

int>

s;for

(int i =

0; i < m; i++)}

for(

int i =

0; i < m; i++)}

cout << s.

size()

;putchar

('\n');

for(auto it = s.

begin()

; it != s.

end(

); it++

)printf

("%05d"

,*it);}

return0;

}

乙級 PAT 1065 單身狗 25

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

乙級pat 1065 單身狗

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

C程式 PAT 1065 單身狗

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