Khoảng cách dài nhất

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 (p) Thời gian: 3.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một cây có \(n\) nút được đánh số từ \(1\) đến \(n\). Với mỗi nút trên cây, hãy tìm khoảng cách dài nhất từ nút đó đến các nút khác.

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) (\(1 \le n \le 2 \cdot 10^5\)).
  • \(n-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(a\)\(b\) (\(1 \le a, b \le n\)), thể hiện có cạnh nối giữa nút \(a\) và nút \(b\).

Output

  • In ra \(n\) số nguyên, số thứ \(i\) (\(1 \le i \le n\)) là khoảng cách dài nhất từ nút \(i\) đến các nút khác trong cây.

Example

Test 1

Input
5
1 2
1 3
3 4
3 5
Output
2 3 2 3 3

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(n \le 10^3\).
  • Subtask \(2\) (\(50\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.