VM 11 Bài 09 - Đồ thị 3 phía

Xem dạng PDF

Gửi bài giải

Điểm: 1,63 (OI)
Giới hạn thời gian: 0.6s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
VM11 - Tác giả: Lê Ðôn Khuê
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Một đồ thị vô hướng được gọi là đồ thị 3 phía nếu tồn tại một cách chia tập đỉnh ~V~ thành ~3~ tập ~V_1~, ~V_2~, ~V_3~ khác rỗng sao cho mọi cặp đỉnh ~\left(u, v\right)~ có cạnh nối thì ~u, v~ thuộc ~2~ tập con khác nhau. Cho đồ thị ~G=<V, E>~ là một đồ thị ~3~ phía, tìm cách chia tập ~V~ thành ~3~ tập ~V_1~, ~V_2~, ~V_3~ khác rỗng thỏa mãn.

Input

  • Dòng đầu tiên ghi hai số ~N~ và ~M~ trong đó ~N~ là số đỉnh của đồ thị, ~M~ là số cạnh của đồ thị.
  • ~M~ dòng tiếp theo, mỗi dòng ghi ~2~ số ~u~, ~v~ thể hiện cạnh nối giữa ~u~ và ~v~. ~\left(u \ne v\right)~

Output

  • In ra xâu ~N~ kí tự. Kí tự thứ ~i~ là ~1/2/3~ tương ứng với đỉnh ~i~ thuộc tập ~V_1/V_2/V_3~.
  • Dữ liệu đảm bảo luôn có đáp án. Bạn chỉ cần đưa ra một đáp án bất kỳ.

Giới hạn

~3 \le N \le 200~, trong ~20\%~ số test có ~N \le 15~.

Sample Input

5 6
1 2
1 5
1 4
2 3
3 5
5 4

Sample Output

12132

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.