Khoảng cách hai làng
Xem dưới dạng PDF
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Tèo là một nhà thám hiểm muốn tính khoảng cách giữa hai làng trên bản đồ. Vương quốc có \(N\) làng được nối với nhau bởi \(N-1\) con đường, tạo thành một cấu trúc cây. Khoảng cách giữa hai làng được định nghĩa là số lượng con đường cần đi qua để di chuyển từ làng này đến làng kia.
Tèo có \(Q\) câu hỏi, mỗi câu hỏi yêu cầu tính khoảng cách giữa hai làng \(u\) và \(v\).
Định dạng đầu vào
- Dòng đầu chứa số nguyên \(N\) và \(Q\) (\(N, Q \le 10^5\)).
- \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) mô tả một cạnh.
Định dạng đầu ra
- In ra kết quả của từng truy vấn trên một dòng.
Ví dụ
Input:
5 3
1 2
1 3
2 4
2 5
2 3
Output:
3
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)).
- \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) (\(1 \le u, v \le N\)).
- \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) (\(1 \le u, v \le N\)).
Kết quả ra
- Với mỗi truy vấn, in ra khoảng cách giữa hai làng \(u\) và \(v\).
Ví dụ
Input
6 4
1 2
2 4
2 5
1 3
3 6
4 5
4 6
2 3
4 6
Output
2
4
3
5
Ràng buộc
- Subtask 1 (20 điểm): \(N, Q \le 100\).
- Subtask 2 (20 điểm): \(N, Q \le 5000\).
- Subtask 3 (30 điểm): \(N, Q \le 10^5\), cây có dạng đường thẳng.
- Subtask 4 (30 điểm): Không có ràng buộc gì thêm.
Nhận xét