Gửi bài giải


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

Nguồn bài:
by winterwolf94
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Trong một lần dạo chơi công viên BeeG, Nam phát hiện một trò chơi mới: mê cung. Mê cung gồm ~N~ phòng và ~M~ hành lang nối giữa các phòng. Mỗi hành lang nối ~2~ phòng ~u~ và ~v~ theo được sơn màu ~c~. Bằng hành lang này người ta có thể đi từ phòng ~u~ sang phòng ~v~ và ngược lại.

Một cuộc tỉ thí sắp được tổ chức. Những người tham gia sẽ bị bịt mắt và thả xuống căn phòng số ~1~ bằng trực thăng. Nhiệm vụ của người chơi là đến được căn phòng số ~N~ (phòng cuối cùng). Một thiết bị theo dõi sẽ được đeo vào mỗi người, ghi lại những căn phòng và hành lang mà người đó đi qua. Người sử dụng ít hành lang nhất để đến căn phòng ~N~ sẽ thắng cuộc. Nếu có nhiều người cùng sử dụng ít hành lang nhất, người có đường đi "đẹp" sẽ thắng. Một đường đi được xem là đẹp nếu dãy màu các hành lang mà người đó sử dụng liên tiếp có thứ tự từ điển nhỏ nhất trong tất các các đường đi ngắn nhất.

Quyết tâm giành chiến thắng (vì phần thưởng cực kì hậu hĩnh), Nam thuê hẳn một máy bay trực thăng bay quay công viên BeeG và chụp hình mê cung từ phía trên. Hãy giúp Nam ghi lại đường đi lí tưởng nhất.

Chú ý: Dãy ~(a_{1}~, ~a_{2}~, ~a_{3}~, ..., ~a_{k})~ có thứ tự từ điển nhỏ hơn dãy ~(b_{1}~, ~b_{2}~, ~b_{3}~, ..., ~b_{k})~ nếu tồn tại một vị trí ~i~ nhỏ nhất ~(1 \le i \le k)~ sao cho ~a_{i} \neq b_{i}~ thì ~a_{i} < b_{i}~.

Giữa hai phòng có thể có nhiều hơn một hành lang.

Input

  • Dòng đầu gồm ~2~ số ~N~, ~M~ -- số phòng và số hành lang.
  • ~M~ dòng sau, dòng ~i~ gồm ~3~ số ~u_{i} v_{i} c_{i}~ thể hiện một hành lang.

Output

  • Dòng đầu ghi ~K~ -- độ dài đường đi ngắn nhất từ phòng ~1~ đến phòng ~N~.
  • Dòng thứ hai ghi ~K~ số là màu của ~K~ hành lang theo thứ tự được dùng để đi từ phòng ~1~ đến phòng ~N~.

Giới hạn

  • ~2 \le N \le 100000~
  • ~1 \le M \le 200000~
  • ~1 \le u_{i}~, ~v_{i} \le N~
  • ~1 \le c_{i} \le 10^{9}~
  • Có ~33\%~ số test có ~N \le 100~.

Sample Input

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

Sample Output

2
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.