我們發現,如果有奇環顯然無解,因為我們每一次合併一個奇環,一定會產生一個偶環和一個更小的奇環,最終會形成一個三元環而無法合併 所以,這個圖需要是一個二分圖,需要進行二染色 然後把這個圖所有的偶環找出來,答案就是這些偶環的長度除以2,這樣子很難 然而我們發現,偶環上的任意兩個點的最大距離的最短值一定等於偶環長度除以2,所以找出上一問等價于找出最短路的最大值,進行bfs即可 但是有可能有多個聯通塊,所以我們可以尋找所有聯通塊中的最短路徑的最大值即可 代碼: #include<bits/stdc++.…