ĐƯỜNG ĐI NGẮN NHẤT NHỎ THỨ K

Cho một đồ thị vô hướng có trọng số gồm n đỉnh và m cạnh. Các đỉnh được đánh số từ 1 đến n.

Bạn hãy tìm đường đi ngắn thứ k trong đồ thị này (đường đi từ một đỉnh đến chính nó không được tính, đường đi từ đỉnh i đến j và từ j đến i được xem là một).

Cụ thể nếu d là ma trận đường đi ngắn nhất, ở đó dij là độ dài đường đi ngắn nhất giữa hai đỉnh ij (1 ≤ i < jn), thì bạn cần đưa ra phần tử thứ k của mảng đã được sắp xếp gồm tất cả các dij (1 ≤ i < jn).

Dữ liệu vào:

+ Dòng đầu tiên chứa 3 số nguyên n, mk (2 ≤ n, m ≤ 105, 1 ≤ k ≤ 103) lần lượt là số đỉnh, số cạnh của đồ thị và giá trị k.

+ Tiếp theo có m dòng, mỗi dòng chứa 3 số nguyên x, yw (1 ≤ x, yn, 1 ≤ w ≤ 109, xy) mô tả một cạnh nối hai đỉnh x, y với trọng số w (giữa hai đỉnh bất kỳ có tối đa một cạnh nối chúng).

Kết quả:

+ Một số nguyên là độ dài đường đi ngắn thứ k của đồ thị. Dữ liệu vào đảm bảo luôn tồn tại đường đi ngắn thứ k.

Ví dụ:

Input Output Input Output
6 10 5
2 5 1
5 3 9
6 2 2
1 3 1
5 1 8
6 5 10
1 6 5
6 4 6
3 6 2
3 4 5
3 7 15 18
2 6 3
5 7 4
6 5 4
3 6 9
6 7 7
1 6 4
7 1 6
7 2 1
4 3 2
3 2 8
5 3 6
2 5 5
3 7 9
4 1 8
2 1 1
9

Ràng buộc:

+ Có 25% test: 1 ≤ k ≤ 3;

+ Có 25% test: n ≤ 102;

+ Có 25% test: k ≤ 102;

+ Có 25% còn lại: Như ràng buộc trong đề bài.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. sythai (5/8)
  2. npk1605 (5/10)
  3. trungnam (4/4)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]