我最近開始學習圖形及其不同的遍歷算法,似乎無法拿出這個問題的答案。我真的需要你的幫助,我甚至不知道從哪裏開始。 P.S.昨天是我的生日,因爲這個問題我不想哭。無向圖 - 燈泡
紐約的一家公司生產汽車用藍色鹵素燈泡。不幸的是,要持續地爲燈泡着色是非常困難的。自然地,包裝看起來相似的燈泡也是非常重要的。爲了將燈泡成對包裝,從裝配線出來的燈泡首先被分成兩組共同類似顏色的燈泡(例如,一組較暗的燈泡,另一組燈泡),然後在每組內形成配對。
由於需求的增加,公司希望僱用更多的員工將燈泡分成兩組。爲了確定申請人是否具備適當的技能來執行這項相當微妙的任務,他們被要求採取這個簡單的測試:給定一組nn燈泡,比較每一對燈泡並確定兩個燈泡是否具有「相似」或「不同」顏色。申請人也可以選擇對每一對說「不確定」。該公司希望聘用符合判斷的申請人。如果可以將n個燈泡分成兩組,使得(i)對於被確定爲「相似」的每個對{a,b},a(a),則判斷m個判斷(導致「相似」或「不同」)是一致的和b確實屬於同一集合,並且(ii)對於被確定爲「不同」的每對{a,b},a和b確實屬於不同的集合。
對於具有m個判斷的n個燈泡的給定測試結果,設計O(n + m)時間算法以確定判斷是否一致。在實踐中,應該有最低數量的申請人需要作出的判斷,但是你的算法應該適用於任何整數m≥0。
非常感謝!