[CSES 1672] Shortest Routes II

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Có ~n~ thành phố và ~m~ con đường giữa chúng. Nhiệm vụ của bạn là xử lý ~q~ truy vấn, trong đó bạn cần xác định độ dài đường đi ngắn nhất giữa hai thành phố cho trước.

Dữ liệu vào

Dòng đầu tiên chứa ba số nguyên ~n~, ~m~ và ~q~: số lượng thành phố, con đường và truy vấn.

Sau đó, có ~m~ dòng mô tả các con đường. Mỗi dòng chứa ba số nguyên ~a~, ~b~ và ~c~: có một con đường giữa thành phố ~a~ và ~b~ với độ dài ~c~. Tất cả các con đường đều là đường hai chiều.

Cuối cùng, có ~q~ dòng mô tả các truy vấn. Mỗi dòng chứa hai số nguyên ~a~ và ~b~: xác định độ dài đường đi ngắn nhất giữa hai thành phố ~a~ và ~b~.

Kết quả

In độ dài đường đi ngắn nhất cho mỗi truy vấn. Nếu không có đường đi, in ~-1~.

Giới hạn

  • ~1 \le n \le 500~
  • ~1 \le m \le n^2~
  • ~1 \le q \le 10^5~
  • ~1 \le a,b \le n~
  • ~1 \le c \le 10^9~

Ví dụ

Input:

4 3 5
1 2 5
1 3 9
2 3 3
1 2
2 1
1 3
1 4
3 2

Output:

5
5
8
-1
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.