約會(並查集)

2021-07-10 03:52:19 字數 1071 閱讀 8669

題目描述

cc是個超級帥哥,口才又好,rp極高(這句話似乎降rp),又非常的幽默,所以很多mm都跟他關係不錯。然而,最關鍵的是,cc能夠很好的調解各各妹妹間的關係。mm之間的關係及其複雜,cc必須嚴格掌握她們之間的朋友關係,好一起約她們出去,cc要是和不是朋友的兩個mm出去玩,後果不堪設想……

cc只掌握著一些mm之間的關係,但是cc比較聰明,他知道a和b是朋友,b和c 是朋友,那麼a和c也是朋友。

下面給出m對朋友關係, cc 定了p次約會,每次約會找兩個mm,如果這兩個mm是朋友,那麼不會出亂子,輸出『safe』,要是不是朋友,那麼cc必然會挨……,輸出『cc cry』(t_t)。

資料範圍

0輸入第一行為n,m,p。n為mm的數量,cc知道m對朋友關係,有p次約會。

2到n+1 行,每行乙個字串,為第i個mm的名字。

以下m行,每行兩個字串,用空格隔開 ,為有朋友關係的兩個mm的名字。

以下p行,每行為兩個字串,用空格隔開,為這p次約會中兩個mm的名字。

輸出第一行為n,m,p。n為mm的數量,cc知道m對朋友關係,有p次約會。

2到n+1 行,每行乙個字串,為第i個mm的名字。

以下m行,每行兩個字串,用空格隔開 ,為有朋友關係的兩個mm的名字。

以下p行,每行為兩個字串,用空格隔開,為這p次約會中兩個mm的名字。

樣例輸入

3 1 1

aaabbb

cccaaa ccc

aaa bbb

樣例輸出

cc cry

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

mapmm;

string findfather(string str)

int main()

for(int i = 0; i < m; i++)

for(int i = 0; i < p; i++)

{ cin>>str1>>str2;

if(findfather(str1) == findfather(str2))

cout<<"safe"<

並查集 並查集

本文參考了 挑戰程式設計競賽 和jennica的github題解 陣列版 int parent max n int rank max n void init int n int find int x else void union int x,int y else 結構體版 struct node ...

RQNOJ PID379 約會計畫 並查集

pid379 約會計畫 題目描述 cc是個超級帥哥,口才又好,rp極高 這句話似乎降rp 又非常的幽默,所以很多mm都跟他關係不錯。然而,最關鍵的是,cc能夠很好的調解各各妹妹間的關係。mm之間的關係及其複雜,cc必須嚴格掌握她們之間的朋友關係,好一起約她們出去,cc要是和不是朋友的兩個mm出去玩,...

並查集入門(普通並查集 帶刪除並查集 關係並查集)

什麼是並查集?通俗易懂的並查集詳解 普通並查集 基礎並查集 例題 題解 how many tables problem description lh boy無聊的時候很喜歡數螞蟻,而且,還給每乙隻小螞蟻編號,通過他長期的觀察和記錄,發現編號為i的螞蟻會和編號為j的螞蟻在一起。現在問題來了,他現在只有...