PAT(乙級)1065 單身狗(25)

2021-09-13 21:49:47 字數 1173 閱讀 3687

pat 1065.單身狗 (25)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

3

11111 22222

33333 44444

55555 66666

755555 44444 10000 88888 22222 11111 23333

輸出樣例:

5

10000 23333 44444 55555 88888

題目分析:讀取夫妻/伴侶使用map儲存方便之後使用。讀取查詢的id時首先使用hash陣列標記出現此人,之後遍歷map表,如果夫妻/伴侶兩個人同時出現在hash陣列中,說明這兩人不是單身狗,隨後標記為false。最後遍歷單身狗hash陣列,將值為true對應的下標即單身狗id儲存到vector中,對vector排序後輸出即可。

ac**:

#include #include #include #include using namespace std;

const int max_n = 100010;

mapmp;

vectorv;

int main()

int m, tmp;

scanf("%d", &m);

for(int i=0; ifor(auto it=mp.begin(); it!=mp.end(); ++it)

}for(int i=0; isort(v.begin(), v.end());

printf("%d\n", v.size());

for(int i=0; ireturn 0;

}

PAT乙級 1065 單身狗 25

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

pat 乙級 1065 單身狗 25

時間限制 300 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 單身狗 是中文對於單身人士的一種愛稱。本題請你從上萬人的大型派對中找出落單的客人,以便給予特殊關愛。輸入格式 輸入第一行給出乙個正整數n 50000 是已知夫妻 伴侶的對...

乙級 PAT 1065 單身狗 25

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