USACO 2020 - Swapity Swap

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

\(N\) con bò của Farmer John (\(1\le N\le 100\)) đang đứng thành một hàng. Với mỗi \(1\le i\le N\), con bò thứ \(i\) tính từ bên trái mang nhãn \(i\).

Farmer John đã nghĩ ra một bài tập thể dục buổi sáng mới cho đàn bò. Ông yêu cầu chúng lặp lại chính xác \(K\) lần (\(1\le K\le 10^9\)) quy trình gồm hai bước sau:

  1. Dãy bò hiện đang ở các vị trí \(A_1\ldots A_2\) tính từ bên trái đảo ngược thứ tự (\(1\le A_1<A_2\le N\)).
  2. Sau đó, dãy bò hiện đang ở các vị trí \(B_1\ldots B_2\) tính từ bên trái đảo ngược thứ tự (\(1\le B_1<B_2\le N\)).

Sau khi đàn bò đã lặp lại quy trình này đúng \(K\) lần, với mỗi \(1\le i\le N\), hãy in nhãn của con bò thứ \(i\) tính từ bên trái.

Phân nhóm

  • Các test 2-3 thỏa mãn \(K\le 100\).
  • Các test 4-13 không có ràng buộc bổ sung.

Dữ liệu vào

Dòng đầu tiên chứa \(N\)\(K\). Dòng thứ hai chứa \(A_1\)\(A_2\), dòng thứ ba chứa \(B_1\)\(B_2\).

Dữ liệu ra

Trên dòng thứ \(i\) của kết quả, in nhãn của con bò thứ \(i\) tính từ bên trái sau khi kết thúc bài tập.

Ví dụ

Ví dụ 1

Input
7 2
2 5
3 7
Output
1
2
4
3
5
7
6
Giải thích

Ban đầu, thứ tự các con bò từ trái sang phải là \([1,2,3,4,5,6,7]\). Sau bước đầu tiên của quy trình, thứ tự là \([1,5,4,3,2,6,7]\). Sau bước thứ hai của quy trình, thứ tự là \([1,5,7,6,2,3,4]\). Lặp lại cả hai bước lần thứ hai sẽ thu được kết quả của ví dụ.

Nguồn

USACO 2020 February Contest, Bronze - Swapity Swap: https://usaco.org/index.php?page=viewproblem2&cpid=1013

Tác giả: Brian Dean.

Bình luận

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

Không có bình luận nào.

Kỳ thi: