CSES - Teleporters Path | Đường đi dịch chuyển

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Một trò chơi có \(n\) cấp độ và \(m\) máy dịch chuyển giữa chúng. Bạn giành chiến thắng trong trò chơi nếu bạn di chuyển từ cấp độ \(1\) đến cấp độ \(n\) bằng cách sử dụng mỗi máy dịch chuyển chính xác một lần.

Bạn có thể giành chiến thắng trong trò chơi không, và cách khả thi để làm điều đó là gì?

Input

  • Dòng đầu tiên là hai số nguyên \(n\)\(m\): số cấp độ và máy dịch chuyển. Các cấp được đánh số \(1,2,\ldots,n\)
  • Sau đó, có \(m\) dòng mô tả những máy dịch chuyển. Mỗi dòng gồm hai số nguyên \(a\)\(b\): có một máy dịch chuyển từ cấp \(a\) đến cấp \(b\)
  • Bạn có thể giả định rằng mỗi cặp \((a,b)\) trong đầu vào là khác biệt

Output

  • In \(m+1\) số nguyên: trình tự mà bạn truy cập các cấp độ trong trò chơi. Bạn có thể in bất kỳ giải pháp hợp lệ nào
  • Nếu không có giải pháp nào, hãy in IMPOSSIBLE

Constraints

  • \(2 \leq n \leq 10^5\)
  • \(1 \leq m \leq 2\cdot 10^5\)
  • \(1 \leq a,b \leq n\)

Example

Test 1

Input
5 6
1 2
1 3
2 4
2 5
3 1
4 2
Output
1 3 1 2 4 2 5

Bình luận (2)

Mới nhất
Tải bình luận...