trang chủ / đề bài / eqdistroom

Phòng cách đều

Đề 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. Khoảng cách giữa hai đỉnh là số cạnh trên đường đi ngắn nhất nối chúng.

Có m truy vấn, mỗi truy vấn cho hai đỉnh x và y (có thể trùng nhau). Với mỗi truy vấn, hãy đếm số đỉnh v của cây có khoảng cách từ v đến x bằng khoảng cách từ v đến y.

Dữ liệu vào

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

Dữ liệu ra

In ra m dòng, dòng thứ j là số đỉnh cách đều xj và yj.

Ràng buộc

  • 1≤n≤105
  • 1≤ai,bi≤n
  • 1≤m≤105
  • 1≤xj,yj≤n

Ví dụ

Input Output Giải thích
4
1 2
1 3
2 4
1
2 3
1 Chỉ có đỉnh 1 cách đều đỉnh 2 và đỉnh 3 (cùng khoảng cách 1).
4
1 2
2 3
2 4
2
1 2
1 3
0
2
Đỉnh 1 và 2 cách nhau 1 cạnh (số lẻ) nên không có đỉnh nào cách đều. Với x=1,y=3: đỉnh 2 (cùng cách 1) và đỉnh 4 (cùng cách 2).

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