Trại hè Hùng Vương 2026 - Tuần tra

Xem dạng PDF

Gửi bài giải

Điểm: 120,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout
Test chính thức

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Tỉnh ZZZ có ~N~ thành phố, được đánh số từ ~0~ đến ~N-1~, và ~N-1~ con đường hai chiều. Từ mỗi thành phố luôn có thể đi đến mọi thành phố khác bằng một dãy các con đường. Khoảng cách giữa hai thành phố là số con đường ít nhất cần đi qua để di chuyển từ thành phố này đến thành phố kia.

Hai cán bộ Nam và Huy cần thực hiện một chuyến tuần tra toàn tỉnh. Ban đầu Nam đứng ở thành phố ~X~, Huy đứng ở thành phố ~Y~. Mỗi ngày, đúng một trong hai người di chuyển từ thành phố hiện tại sang một thành phố kề với nó qua một con đường. Chuyến tuần tra kết thúc khi cả Nam và Huy đều đã từng đến tất cả các thành phố ít nhất một lần và cả hai quay lại đúng thành phố xuất phát của mình.

Độ an toàn của một chuyến tuần tra là khoảng cách nhỏ nhất giữa Nam và Huy trong suốt chuyến đi, tính cả thời điểm ban đầu và các thời điểm sau mỗi lần di chuyển. Với mỗi truy vấn ~(X,Y)~, hãy tìm độ an toàn lớn nhất có thể đạt được nếu Nam bắt đầu ở ~X~ và Huy bắt đầu ở ~Y~.

Input

  • Dòng đầu tiên chứa ba số nguyên ~S, N~ và ~Q~ ~(1 \le S \le 5, 1 \le N \le 2 \cdot 10^5, 1 \le Q \le 10^5)~: chỉ số subtask của test, số thành phố và số truy vấn.

  • Trong ~N-1~ dòng tiếp theo, dòng thứ ~i~ chứa hai số nguyên ~A_i~ và ~B_i~ ~(0 \le A_i,B_i < N)~, mô tả một con đường nối hai thành phố ~A_i~ và ~B_i~.

  • Trong ~Q~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~X~ và ~Y~ ~(0 \le X,Y < N)~, mô tả một truy vấn.

Dữ liệu đảm bảo các con đường tạo thành một cây.

Output

In ra ~Q~ dòng. Dòng thứ ~j~ chứa một số nguyên là độ an toàn lớn nhất cho truy vấn thứ ~j~.

Scoring

Subtask Điểm Ràng buộc
1 ~20\%~ ~N,Q \le 200~
2 ~20\%~ ~N \le 1000~
3 ~20\%~ Với mỗi truy vấn, cặp ~(X,Y)~ đạt giá trị đáp án lớn nhất trong tất cả các cặp thành phố xuất phát
4 ~20\%~ ~Q \le 200~
5 ~20\%~ Không có ràng buộc thêm

Sample Input 1

1 13 5
0 1
1 2
2 3
0 4
4 5
5 6
0 7
7 8
8 9
0 10
10 11
11 12
3 6
3 2
1 10
12 9
0 3

Sample Output 1

3
1
2
3
3

Notes

Xét truy vấn đầu tiên ~(3,6)~. Một cách đạt độ an toàn ~3~ là cho hai người luân phiên đứng chờ ở một lá của cây, còn người kia đi từ lá hiện tại qua thành phố ~0~ sang một lá thuộc nhánh khác. Cụ thể, có thể thực hiện lần lượt các đoạn sau:

  • Nam đi ~3 \rightarrow 9~, Huy đứng tại ~6~.

  • Huy đi ~6 \rightarrow 12~, Nam đứng tại ~9~.

  • Nam đi ~9 \rightarrow 6~, Huy đứng tại ~12~.

  • Huy đi ~12 \rightarrow 3~, Nam đứng tại ~6~.

  • Nam đi ~6 \rightarrow 12~, Huy đứng tại ~3~.

  • Huy đi ~3 \rightarrow 9~, Nam đứng tại ~12~.

  • Nam đi ~12 \rightarrow 3~, Huy đứng tại ~9~.

  • Huy đi ~9 \rightarrow 6~, Nam đứng tại ~3~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.