#771. Đường đi thứ nhì (ROADBLOCKS)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Bessie chuyển nhà đến một trang trại nhỏ, nhưng cô ấy thường xuyên quay lại trang trại của FJ để thăm bạn bè. Bessie rất thích phong cảnh ven đường và không muốn kết thúc chuyến đi quá nhanh, vì vậy mỗi lần về trang trại, cô ấy đều chọn đường đi ngắn thứ hai, thay vì chọn đường ngắn nhất như chúng ta thường làm.

Vùng quê nơi Bessie sống có R (1 \le R \le 10^5) con đường hai chiều, mỗi con đường nối hai trong số N (1 \le N \le 5000) trang trại. Bessie sống ở trang trại 1 , và bạn bè cô ấy sống ở trang trại N (đây là đích đến mỗi chuyến đi của Bessie).

Đường đi ngắn thứ hai mà Bessie chọn có thể bao gồm bất kỳ con đường nào xuất hiện trong đường đi ngắn nhất, và một con đường có thể được đi lại nhiều lần. Tất nhiên, độ dài của đường đi ngắn thứ hai phải lớn hơn nghiêm ngặt độ dài của đường đi ngắn nhất (có thể có nhiều đường ngắn nhất), nhưng độ dài của nó phải không lớn hơn độ dài của bất kỳ đường đi nào khác ngoại trừ các đường đi ngắn nhất.

Tóm tắt đề bài: Cho một đồ thị vô hướng, tìm độ dài của đường đi ngắn thứ nhì nghiêm ngặt (strictly second shortest path) của đồ thị.

Dữ liệu:

  • Dòng 1 của file đầu vào chứa hai số nguyên N R , cách nhau bởi dấu cách;
  • Dòng 2 \ldots R+1 : Mỗi dòng chứa ba số nguyên cách nhau bởi dấu cách A, B D , biểu thị tồn tại một con đường có độ dài D (1\le D \le 5000) nối trang trại A và trang trại B .

Kết quả:

  • Xuất ra duy nhất một số nguyên, biểu thị độ dài của đường đi ngắn thứ hai từ trang trại 1 đến trang trại N .

Ví dụ:

Dữ liệu:

4 4
1 2 100
2 4 200
2 3 250
3 4 100

Kết quả:

450