[CSES 1667] Message Route

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

Mạng máy tính của Syrjälä có ~n~ máy tính và ~m~ kết nối. Nhiệm vụ của bạn là tìm hiểu xem Uolevi có thể gửi tin nhắn đến Maija hay không, và nếu có thể, số lượng máy tính tối thiểu trên một đường đi như vậy là bao nhiêu.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~: số lượng máy tính và kết nối. Các máy tính được đánh số ~1,2,\dots,n~. Máy tính của Uolevi là ~1~ và máy tính của Maija là ~n~.

Sau đó, có ~m~ dòng mô tả các kết nối. Mỗi dòng chứa hai số nguyên ~a~ và ~b~: có một kết nối giữa hai máy tính đó.

Mỗi kết nối là giữa hai máy tính khác nhau, và có nhiều nhất một kết nối giữa hai máy tính bất kỳ.

Kết quả

Nếu có thể gửi tin nhắn, đầu tiên in ~k~: số lượng máy tính tối thiểu trên một đường đi hợp lệ. Sau đó, in một ví dụ về đường đi như vậy. Bạn có thể in bất kỳ phương án hợp lệ nào.

Nếu không có đường đi nào, in "IMPOSSIBLE".

Giới hạn

  • ~2 \le n \le 10^5~
  • ~1 \le m \le 2 \cdot 10^5~
  • ~1 \le a,b \le n~

Ví dụ

Input:

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

Output:

3
1 4 5

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.