四色問題

作者:張冲和

簡介

四色問題

 

有多個色塊相鄰,我們要將每個色塊都上色,並且確保相鄰的色塊顏色不會一樣。

 

 

解法

1. 掃描整個題目,把塊與塊用節點與邊表示成圖。

1. 原本打算在圖上跑dfs,枚舉所有組合去找正確的,但是因為老師要求塗色的左上到右下順序,如果用正常的dfs跑會跟老師的答案有點出入(雖然還是符合規則)。


2.於是我把節點用sort 成左上到右下的順序,按造此順序去填色,而原本的圖就用來確認節點間是否連接。



在左邊這個圖中,我們從上到下開始填顏色。填顏色的方式為:

1. 依照abcd的順序開始填,填完一個顏色,就去右邊這個圖中檢查:

  2. 若與相鄰重複,則填目前顏色的下一個顏       色,若已經超出填色的限制,就代表前面有       錯誤,因此回到左圖中的上一個節點重複以      上動作。

  3. 若無重複,則跳到左圖中的下一個節點,重     複以上步驟。

 

四色問題papabeard

By Hubert chang

四色問題papabeard

  • 49