trang chủ / đề bài / gr14_kthanc

Đỉnh thứ k trên đường đi

Đề bài

Mô tả

Cho một cây gồm n đỉnh đánh số từ 1 đến n. Các cạnh được cho theo thứ tự và chiều bất kỳ.

Với hai đỉnh u và v, đường đi từ u tới v là dãy các đỉnh x0=u,x1,…,xL=v trong đó hai đỉnh liên tiếp được nối bởi một cạnh và không đỉnh nào lặp lại; L là số cạnh của đường đi.

Hãy trả lời q truy vấn, mỗi truy vấn cho u,v,k và hỏi đỉnh xk trên đường đi từ u tới v. Nếu k>L thì in ra −1.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên n và q.
  • n−1 dòng tiếp theo, mỗi dòng chứa hai số nguyên u,v cho biết có cạnh nối đỉnh u và đỉnh v.
  • q dòng tiếp theo, mỗi dòng chứa ba số nguyên u,v,k là một truy vấn.

Dữ liệu ra

In ra q dòng, dòng thứ i là đáp án của truy vấn thứ i.

Ràng buộc

  • 1≤n≤105
  • 1≤q≤105
  • 1≤u,v≤n; với các cạnh thì u≠v, với truy vấn thì u có thể bằng v.
  • 0≤k≤n

Ví dụ

Input Output Giải thích
7 5
1 2
1 3
2 4
2 5
5 6
3 7
4 7 0
4 7 2
4 7 3
6 7 4
6 7 6
4
1
3
3
-1
Đường đi từ 4 tới 7 là 4,2,1,3,7. Đường đi từ 6 tới 7 là 6,5,2,1,3,7, chỉ có L=5 cạnh nên k=6 cho −1.
5 4
2 1
3 2
3 4
5 3
1 5 3
5 1 1
4 4 0
4 4 1
5
3
4
-1
Đường đi từ 1 tới 5 là 1,2,3,5; theo chiều ngược lại là 5,3,2,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