trang chủ / đề bài / delegat20

Phân công đường

Đề bài

Mô tả

Cho một cây gồm N đỉnh được đánh số từ 1 đến N và N−1 cạnh.

Một đường đi độ dài K là một dãy K cạnh phân biệt nối liên tiếp K+1 đỉnh phân biệt của cây.

Với mỗi K từ 1 đến N−1, hãy cho biết có thể chia toàn bộ N−1 cạnh của cây thành các đường đi độ dài đúng bằng K hay không, sao cho mỗi cạnh thuộc đúng một đường đi.

Dữ liệu vào

  • Dòng đầu: số nguyên N.
  • N−1 dòng tiếp theo: mỗi dòng hai số nguyên a, b mô tả một cạnh nối đỉnh a và đỉnh b. Dữ liệu đảm bảo tạo thành một cây.

Dữ liệu ra

Một xâu nhị phân gồm N−1 ký tự: ký tự thứ K bằng 1 nếu chia được, bằng 0 nếu không.

Ràng buộc

  • 2≤N≤105
  • 1≤a,b≤N

Ví dụ

Input Output Giải thích
13
1 2
2 3
2 4
4 5
2 6
6 7
6 8
8 9
9 10
8 11
11 12
12 13
111000000000 Cây có 12 cạnh. Với K=1 mỗi cạnh là một đường đi. Với K=2 và K=3 đều chia được. Các giá trị K còn lại: hoặc K không là ước của 12, hoặc cây có quá nhiều nhánh ngắn nên không ghép đủ.
5
1 2
1 3
1 4
1 5
1100 Hình sao 4 cạnh. K=1 hiển nhiên được. K=2 được nhờ hai đường 2-1-3 và 4-1-5. K=4 không được vì đường đi dài nhất trong hình sao chỉ có 2 cạnh. K=3 không phải ước của 4.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0