trang chủ / bài tập / cyccolor

Tô màu vòng tròn

Đề bài

Mô tả

Cho một đồ thị có hướng G gồm n đỉnh và m cung (cho phép có cung lặp và khuyên tự nối). Bạn cần tô mỗi đỉnh của đồ thị bằng một trong k màu (với kn) sao cho: với mọi cung đi từ đỉnh u tới đỉnh v, màu của đỉnh v phải là màu kế tiếp của màu tô đỉnh u.

Các màu được đánh số vòng tròn từ 1 tới k. Nghĩa là với mỗi màu i (i<k), màu kế tiếp của nó là màu i+1; còn màu kế tiếp của màu k là màu 1. Đặc biệt, nếu k=1 thì màu kế tiếp của màu 1 vẫn là màu 1.

Nhiệm vụ của bạn là tìm và in ra giá trị k lớn nhất có thể (kn) sao cho có thể tô màu đồ thị G thỏa mãn điều kiện trên. Lưu ý rằng bạn không nhất thiết phải dùng hết cả k màu (tức là không bắt buộc mỗi màu đều phải có đỉnh mang màu đó).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm là số đỉnh và số cung của đồ thị.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên aibi, cho biết cung thứ i đi từ đỉnh ai tới đỉnh bi.

Dữ liệu ra

In ra một số nguyên duy nhất, là số màu lớn nhất k có thể dùng để tô đồ thị (thỏa 1kn).

Ràng buộc

  • 1n,m105
  • 1ai,bin
  • Cho phép cung lặp và khuyên tự nối.

Ví dụ

Input Output Giải thích
5 2
1 4
2 5
5 Có thể dùng tối đa 5 màu. Chẳng hạn tô đỉnh 1 màu 1 và đỉnh 4 màu 2; đỉnh 2 màu 1 và đỉnh 5 màu 2; đỉnh 3 tô màu bất kỳ.
4 5
1 2
2 3
3 1
2 4
4 1
3 Chu trình 1231 có độ dài 3 nên k phải là ước của 3. Với k=3: tô 1,2,3 lần lượt màu 1,2,34 màu 3.
4 4
1 1
1 2
2 1
1 2
1 Cung khuyên 11 đòi hỏi màu đỉnh 1 bằng màu kế tiếp của chính nó, buộc k=1.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0