[英]Graph 3-colors coloring with the use of the given function
我有函數three_colorability(n,E),它提供輸出true(當帶有這些邊緣和頂點的圖形可以用3種顏色着色時)或false(如果不是)。 (!沒有參數可以知道已經着色了什么)我們假設該函數在線性時間復雜度下起作用。
我必須使用將在多項式時間內工作的給定函數來制作給定無向圖G的三色算法。
我無法解決這個問題。
添加3個新節點,它們分別代表代表顏色的C1
, C2
和C3
。 在新節點(C1,C2)
, (C2,C3)
和(C1,C3)
之間添加邊。 如果three_colorability(V,E)
為true,則three_colorability(V+{C1,C2,C3},E+{(C1,C2),(C2,C3),(C1,C3)})
也為true。
對於每個(原始)頂點v
, three_colorability()
對於至少兩個添加了{(v,C1), (v,C2), (v,C3)}
邊的圖返回true。 例如,對於帶有增加的邊{(v,C2), (v,C3)}
圖, three_colorability()
返回true,表示v
可以用顏色1着色。
要查找所有頂點的顏色,請遞增查找頂點顏色,並將這兩個邊添加到圖形中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.