trang chủ / bài tập / duffarmy

Duff trong quân đội

Đề bài

Mô tả

Cho một cây gồm n thành phố (đánh số từ 1 đến n) nối với nhau bởi n1 con đường hai chiều. Giữa hai thành phố bất kỳ luôn tồn tại duy nhất một đường đi.

m người sống trong đất nước, đánh số từ 1 đến m. Người thứ i có số hiệu (ID) là i và sống ở thành phố ci. Một thành phố có thể có nhiều người sống, cũng có thể không có ai.

Bạn cần trả lời q truy vấn. Mỗi truy vấn gồm ba số v, u, a:

  • Xét tất cả những người đang sống ở các thành phố nằm trên đường đi từ v đến u (bao gồm cả vu). Giả sử có x người như vậy với các ID theo thứ tự tăng dần là p1<p2<<px.
  • Đặt k=min(x,a). Hãy in ra kk ID nhỏ nhất p1,p2,,pk.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, m, q.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên v, u mô tả một con đường nối hai thành phố vu.
  • Dòng tiếp theo chứa m số nguyên c1,c2,,cm.
  • q dòng cuối, mỗi dòng chứa ba số nguyên v, u, a mô tả một truy vấn.

Dữ liệu ra

Với mỗi truy vấn, in ra trên một dòng: số k theo sau bởi k ID nhỏ nhất, các số cách nhau bởi dấu cách.

Ràng buộc

  • 1n,m,q105
  • 1v,unvu ở mỗi con đường.
  • 1cin
  • 1v,un1a10 ở mỗi truy vấn (lưu ý v có thể bằng u).

Ví dụ

Input Output Giải thích
5 4 5
1 3
1 2
1 4
4 5
2 1 4 3
4 5 6
1 5 2
5 5 10
2 3 3
5 3 1
1 3
2 2 3
0
3 1 2 4
1 2
Người 1 ở thành phố 2, người 2 ở thành phố 1, người 3 ở thành phố 4, người 4 ở thành phố 3.
Truy vấn 456: đường đi 45 có người 3 (ở thành phố 4) in "1 3".
Truy vấn 152: đường đi 145 có người 23, lấy tối đa 2 "2 2 3".
Truy vấn 5510: chỉ thành phố 5, không ai sống "0".
Truy vấn 233: đường đi 213 có người 1,2,4 "3 1 2 4".
5 5 5
1 2
1 4
4 3
4 5
4 5 4 5 5
2 3 2
5 5 6
5 1 3
2 2 9
1 1 5
2 1 3
3 2 4 5
3 1 2 3
0
0
Người 1,2,3,4,5 lần lượt ở các thành phố 4,5,4,5,5.
Truy vấn 556: thành phố 5 có người 2,4,5 "3 2 4 5".
Truy vấn 229115: các thành phố 2, 1 không có ai "0".

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0