51nod 1535 深海探险【思维+并查集】
生活随笔
收集整理的這篇文章主要介紹了
51nod 1535 深海探险【思维+并查集】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1535?深海探險 題目來源:? CodeForces 基準時間限制:1?秒 空間限制:131072?KB 分值:?40? 難度:4級算法題
Input 單組測試數據 第一行給出兩個數,n表示圖中的點的個數,m表示圖中邊的數量。?(1≤?n≤100,0≤?m≤?n*(n-1)/2?) 接下來m行給出邊的信息, 每一行有兩上數x,y??(1≤?x,y≤?n,x≠y) 表示點x和點y之間有邊相連。每一對點最多有一條邊相連,點自身不會有邊到自己。 Output 共一行,如果給定的圖被認為是章魚怪則輸出"FHTAGN!"(沒有引號),否則輸出"NO"(沒有引號)。 Input示例 6?6 6?3 6?4 5?1 2?5 1?4 5?4 Output示例 FHTAGN!
很久很久以前的一天,一位美男子來到海邊,海上狂風大作。美男子希望在海中找到美人魚,但是很不幸他只找到了章魚怪。
?
然而,在世界的另一端,人們正在積極的收集怪物的行為信息,以便研制出強大的武器來對付章魚怪。由于地震的多發,以及惡劣的天氣,使得我們的衛星不能很好的定位怪物,從而不能很好的命中目標。第一次射擊的分析結果會反映在一張由n個點和m條邊組成的無向圖上。現在讓我們來確定這張圖是不是可以被認為是章魚怪。
?
為了簡單起見,我們假設章魚怪的形狀是這樣,他有一個球形的身體,然后有很多觸須連接在他的身上。可以表現為一張無向圖,在圖中可以被認為由三棵或者更多的樹(代表觸須)組成,這些樹的根在圖中處在一個環中(這個環代表球形身體)。
?
題目保證,在圖中沒有重復的邊,也沒有自環。
Input 單組測試數據 第一行給出兩個數,n表示圖中的點的個數,m表示圖中邊的數量。?(1≤?n≤100,0≤?m≤?n*(n-1)/2?) 接下來m行給出邊的信息, 每一行有兩上數x,y??(1≤?x,y≤?n,x≠y) 表示點x和點y之間有邊相連。每一對點最多有一條邊相連,點自身不會有邊到自己。 Output 共一行,如果給定的圖被認為是章魚怪則輸出"FHTAGN!"(沒有引號),否則輸出"NO"(沒有引號)。 Input示例 6?6 6?3 6?4 5?1 2?5 1?4 5?4 Output示例 FHTAGN!
思路:
1、通過仔細讀題我們能夠知道,這個題就是在讓你判斷一個無向圖,是否只包含一個環&&是一個連通圖。
2、那么對于連通圖的判定以及環的個數的判定,我們其實都可以通過并查集來搞定。一開始無腦想著去Dfs.而且點數也不多,細心想想其實不必要Dfs.我們并查集直接判斷即可。
對于兩個點,如果其在一個集合中了已經,那么這個邊一定是成環邊,對于成環邊的個數進行判定,只有這種邊的個數為1的時候,并且他是一個連通圖的時候,才能判斷他是一條章魚。
Ac代碼:
總結
以上是生活随笔為你收集整理的51nod 1535 深海探险【思维+并查集】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 等价性梳理
- 下一篇: 第02章 HTML基本标签