問題 E 例4 7 親戚 relation

2021-08-31 18:29:47 字數 919 閱讀 6543

題目描述

或許你並不知道,你的某個朋友是你的親戚。他可能是你的曾祖父的外公的女婿的外甥女的表姐的孫子。如果能得到完整的家譜,判斷兩個人是否是親戚應該是可行的,但如果兩個人的最近公共祖先與他們相隔好幾代,使得家譜十分龐大,那麼檢驗親戚關係實非人力所能及。在這種情況下,最好的幫手就是計算機。為了將問題簡化,你將得到一些親戚關係的資訊,如marry和tom是親戚,tom和ben是親戚,等等。從這些資訊中,你可以推出marry和ben是親戚。請寫乙個程式,對於我們的關於親戚關係的提問,以最快的速度給出答案。

輸入輸入由兩部分組成。

第一部分以n,m開始。n為問題涉及的人的個數(1≤n≤20000)。這些人的編號為1,2,3,…, n。下面有m行(1≤m≤1000000),每行有兩個數ai,biai,bi ,表示已知aiai 和bibi 是親戚。

第二部分以q開始。以下q行有q個詢問(1≤ q ≤1000000),每行為ci,dici,di ,表示詢問cici 和didi 是否為親戚。

測試資料比較水

輸出對於每個詢問ci,dici,di ,輸出一行:若cici 和didi 為親戚,則輸出「yes」,否則輸出「no」。

樣例輸入

10 7

2 45 7

1 38 9

1 25 6

2 33

3 47 10

8 9樣例輸出

yesno

yes提示

#include #include #include using namespace std;

int father[100010];

int findy(int x)//遞迴尋找根

int main()

scanf("%d",&k);

while(k --)

}return 0;

}

問題 E 例6 5 活動選擇

學校在最近幾天有n個活動,這些活動都需要使用學校的大禮堂,在同一時間,禮堂只能被乙個活動使用。由於有些活動時間上有衝突,學校辦公室人員只好讓一些活動放棄使用禮堂而使用其他教室。現在給出n個活動使用禮堂的起始時間begini begini 和結束時間endi begini di endi begini...

南陽 47 過河問題

解題報告 首先按照過河時間從小到大排序,當n 3時候,就是考慮用最小時間先把用時最長的兩個人送過河,且手電筒仍然留在未過河的這邊,剩下的再依次求解。把當前用時最長的兩個人送過河可以考慮兩種方案 方案一 1 號和 2 號先過河,然後 1 號回來,n 號和 n 1 號過河,然後 2 號再回來 用時 2 ...

E 迷宮問題

定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。input 乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。output 左上角到右下角的最短路徑,格式如樣例所示。sa...