Đường đi ưu tiên ít cạnh

Xem dưới dạng PDF

Gửi bài giải


Điểm: 15
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Mạng lưới giao thông của An gồm \(N\) thành phố và \(M\) con đường một chiều có độ dài khác nhau.

Nếu có nhiều đường đi có cùng độ dài ngắn nhất từ \(S\) đến \(T\), An muốn chọn đường đi đi qua ít con đường nhất (để đỡ phải dừng lại chuyển tiếp). Hãy tìm độ dài ngắn nhất và số lượng con đường ít nhất trên lộ trình đó.

Định dạng đầu vào

  • Dòng đầu chứa bốn số nguyên \(N, M, S, T\) (\(1 \le N \le 10^5\), \(0 \le M \le 2 \cdot 10^5\), \(1 \le S, T \le N\)).
  • \(M\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(u, v, w\) (\(1 \le u, v \le N\), \(1 \le w \le 10^9\)) mô tả con đường một chiều từ \(u\) sang \(v\) có độ dài \(w\).

Định dạng đầu ra

  • In ra hai số nguyên là độ dài ngắn nhất và số con đường ít nhất tương ứng. Nếu không thể đi tới, in ra \(-1 -1\).

Ràng buộc

Subtask Tỉ lệ điểm Ràng buộc
1 40% \(N \le 1000\), \(M \le 2000\)
2 60% Không có ràng buộc gì thêm

Ví dụ

Input:

4 4 1 4
1 2 2
2 4 3
1 3 4
3 4 1

Output:

5 2

(Giải thích ví dụ: Có 2 đường ngắn nhất dài 5 là 1 -> 2 -> 4 (2 cạnh) và 1 -> 3 -> 4 (2 cạnh). Số cạnh tối thiểu là 2).


Nhận xét

Không có ý kiến tại thời điểm này.