Con đường có chiều dài bằng k


Submit solution

Points: 30 (partial)
Time limit: 1.0s
Memory limit: 988M

Problem type
Allowed languages
C, C++, Java, Python

Cho \(N\) địa điểm \((2 \leq N \leq 10^5)\) kết nối với nhau bởi \(N-1\) con đường hai chiều, sao cho từ một địa điểm có thể tới bất kỳ địa điểm nào khác. Nói cách khác, các địa điểm này hình thành nên một cây. Yêu cầu đặt ra là chia cây đã cho thành nhiều cây con, sao cho đường đi trong mỗi cây con này có chiều dài bằng nhau. Cụ thể, cho \((1 \leq K \leq N-1)\), liệu có tồn tại cách phân chia tập các con đường hai chiều, thành nhiều tập con các con đường hai chiều, sao cho chúng tạo thành đường đi có chiều dài bằng \(K\), đưa ra 1 nếu tồn tại, đưa ra 0 nếu không tồn tại.

Input:

Dòng đầu tiên gồm số nguyên \(N\). \(N-1\) dòng tiếp theo gồm hai số nguyên \(a\) và \(b\) mô tả một cạnh nối giữa hai đỉnh a và b, a và b nằm trong đoạn \([1..N]\)

Output:

Đưa ra dãy bit có chiều dài \(N-1\). Với mỗi \((1 \leq K \leq N-1)\), tính từ trái qua phải, bit thứ \(K\) sẽ bằng 1 nếu có thể phân chia, bằng 0 nếu không thể phân chia

Giải thích:

Ta có thể phân chia cây thành đường đi có chiều dài K, với K=1, 2, 3. Với K = 3, ta có thể phân chia như sau: 13-12-11-8,10-9-8-6,7-6-2-3,5-4-2-1


Comments

There are no comments at the moment.