Gốc đối xứng hoàn hảo

Đề bài

Mô tả

Cho một cây gồm n đỉnh. Hãy tìm một đỉnh để làm gốc sao cho điều kiện sau được thỏa mãn:

  • Với mọi cặp đỉnh v1,v2, nếu dist(root,v1)=dist(root,v2) thì deg(v1)=deg(v2).

Trong đó deg(v) là số đỉnh kề với v trong cây (bậc của v), và dist(u,v) là số cạnh trên đường đi ngắn nhất giữa u và v.

Hãy chỉ ra một đỉnh gốc thỏa mãn nếu tồn tại; nếu có nhiều đáp án, in ra một đáp án bất kỳ. Nếu không tồn tại đỉnh gốc nào thỏa mãn, in ra −1.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên n — số đỉnh.
  • Mỗi dòng trong n−1 dòng tiếp theo chứa hai số nguyên vi,ui (1≤vi<ui≤n) — mô tả một cạnh giữa vi và ui.

Dữ liệu đảm bảo đồ thị tạo thành một cây.

Dữ liệu ra

In ra một số nguyên — chỉ số của một đỉnh gốc thỏa mãn, hoặc −1 nếu không tồn tại.

Ràng buộc

  • 1≤n≤105
  • 1≤vi<ui≤n

Ví dụ

Input Output Giải thích
6
1 3
2 3
3 4
4 5
4 6
-1 Không tồn tại đỉnh gốc nào thỏa mãn.
7
1 2
2 3
3 4
4 5
3 6
6 7
5 Các đỉnh 1,3,5,7 đều là đáp án hợp lệ. Với gốc =5: ở độ sâu 0 chỉ có đỉnh 5 (bậc 1), độ sâu 1 chỉ có đỉnh 4 (bậc 2), độ sâu 2 chỉ có đỉnh 3 (bậc 3), độ sâu 3 có {2,6} đều bậc 2, độ sâu 4 có {1,7} đều bậc 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.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