CSES 3308 - Graph Coloring
1.0s 512M給你一張有 \(n\) 個節點與 \(m\) 條邊的簡單圖。你的任務是用最少的顏色數替每個節點上色,使得沒有任何一條邊的兩端是同一個顏色。
輸入格式
第一行有兩個整數 \(n\) 與 \(m\):節點數量與邊數量。節點編號為 \(1, 2,\dots, n\)。
接下來有 \(m\) 行描述邊。每行有兩個整數 \(a\) 與 \(b\):有一條邊連接節點 \(a\) 與 \(b\)。
輸出格式
先輸出一個整數 \(k\):最少的顏色數。
接著輸出 \(n\) 個整數 \(c_1, c_2,\dots, c_n\):各節點的顏色。顏色必須滿足 \(1 \le c_i \le k\)。
你可以輸出任何一組合法的答案。
範例輸入 1
4 4
1 2
2 3
3 4
4 1
範例輸出 1
2
1 2 1 2
限制
- \(1 \le n \le 16\)
- \(0 \le m \le \frac{n(n-1)}{2}\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入