[蓝桥杯][历届试题]国王的烦恼(反向+并查集)
問題 1435: [藍橋杯][歷屆試題]國王的煩惱
時間限制: 1Sec 內存限制: 128MB 提交: 802 解決: 213
題目描述
C國由n個小島組成,為了方便小島之間聯絡,C國在小島間建立了m座大橋,每座大橋連接兩座小島。兩個小島間可能存在多座橋連接。然而,由于海水沖刷,有一些大橋面臨著不能使用的危險。
如果兩個小島間的所有大橋都不能使用,則這兩座小島就不能直接到達了。然而,只要這兩座小島的居民能通過其他的橋或者其他的小島互相到達,他們就會安然無事。但是,如果前一天兩個小島之間還有方法可以到達,后一天卻不能到達了,居民們就會一起抗議。
現在C國的國王已經知道了每座橋能使用的天數,超過這個天數就不能使用了。現在他想知道居民們會有多少天進行抗議。
下文中的樣例說明
第一天后2和3之間的橋不能使用,不影響。
第二天后1和2之間,以及1和3之間的橋不能使用,居民們會抗議。
第三天后3和4之間的橋不能使用,居民們會抗議。
數據規模和約定
對于100%的數據,1< =n< =10000,1< =m< =100000,1< =a, b< =n, 1< =t< =100000。
輸入
輸入的第一行包含兩個整數n, m,分別表示小島的個數和橋的數量。
接下來m行,每行三個整數a, b, t,分別表示該座橋連接a號和b號兩個小島,能使用t天。小島的編號從1開始遞增。
輸出
輸出一個整數,表示居民們會抗議的天數。
樣例輸入
4 4
1 2 2
1 3 2
2 3 1
3 4 3
樣例輸出
2
思路:思路其實很好想,我們在模擬的時候,就會發現這是一個由一個集合變為多個集合的過程,那么我們反過來思考,這不就是多個集合合并為一個集合的過程嘛。我們按著時間由大到小來排列,然后看每一天是否有新的加進來,如果有的話,就直接答案+1。注意的是,每一天只能抗議一次(仔細理解)。
代碼如下:
努力加油a啊,(o)/~
總結
以上是生活随笔為你收集整理的[蓝桥杯][历届试题]国王的烦恼(反向+并查集)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黄金连分数(java大法好)
- 下一篇: vector的去重操作