Time limit: 2.0s , Memory limit: 256M , Points: 2500 (partial)
Cho đơn đồ thị vô hướng, liên thông, không có trọng số bao gồm đỉnh, các đỉnh được đánh số từ đến . Các cạnh của đồ thị được xây dựng như sau:
- Có cạnh nối giữa hai đỉnh và của đồ thị.
- Có cạnh nối giữa hai đỉnh và của đồ thị với mọi .
- Có cạnh nối giữa hai đỉnh và của đồ thị với mọi .
Vì vậy, đồ thị có tổng cộng cạnh.
Thực hiện truy vấn, với mỗi truy vấn thứ , yêu cầu tìm độ dài đường đi ngắn nhất giữa hai đỉnh và .
Input
- Dòng đầu tiên chứa ba số nguyên .
- Dòng thứ hai chứa số nguyên .
- dòng tiếp theo, dòng thứ chứa hai số nguyên và .
Output
- Với mỗi truy vấn, in ra độ dài đường đi ngắn nhất giữa hai đỉnh và trên một dòng.
Examples
Sample Input
3 2 3
0 2
1 5
2 0
4 1
Sample Output
2
2
3
Scoring
- Subtask điểm:
- Subtask điểm:
- Subtask điểm: với mọi truy vấn
- Subtask điểm: Không có ràng buộc gì thêm
Notes
Trong ví dụ, đồ thị được mô tả như trong hình sau:
Comments