QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 64 MB Puntuación total: 100

#23759. Trộn bài

Estadísticas

Có $2n$ lá bài được ghi các số từ $1$ đến $2n$, xếp chồng lên nhau theo thứ tự $1, 2, 3, \ldots, 2n$ tính từ trên xuống.

Người ta sắp xếp lại các lá bài này bằng cách áp dụng một số lần các phương pháp sau:

Cắt bài với số nguyên $k$

Chia chồng bài thành chồng A gồm $k$ lá bài tính từ trên xuống và chồng B gồm $2n-k$ lá bài còn lại, sau đó đặt chồng B lên trên chồng A.

problem_23759_23aef3360de866e41647ebc46ea8acfd.png

Trộn bài chẻ (Riffle shuffle)

Chia chồng bài thành chồng A gồm $n$ lá bài tính từ trên xuống và chồng B gồm $n$ lá bài còn lại, rồi gộp lại thành $1$ chồng sao cho thứ tự từ trên xuống lần lượt là: lá thứ $1$ của A, lá thứ $1$ của B, lá thứ $2$ của A, lá thứ $2$ của B, $\ldots$, lá thứ $n$ của A, lá thứ $n$ của B.

problem_23759_b7a05d9ba29945a1384455aee42f82a0.png

Hãy viết chương trình sắp xếp lại các lá bài theo chỉ dẫn trong dữ liệu vào và in ra số ghi trên các lá bài sau khi sắp xếp theo thứ tự từ trên xuống.

Dữ liệu vào

  • Dòng $1$ ghi số $n$ ($1 \le n \le 100$). Tức là số lượng lá bài là $2n$ lá.
  • Dòng $2$ ghi số lần thao tác $m$ ($1 \le m \le 1000$).
  • Trong $m$ dòng từ dòng $3$ đến dòng $m + 2$, mỗi dòng ghi $1$ số nguyên $k$ trong khoảng từ $0$ đến $2n-1$, lần lượt chỉ định phương pháp sắp xếp lại các lá bài:
    • Nếu $k = 0$, thực hiện trộn bài chẻ.
    • Nếu $1 \le k \le 2n-1$, thực hiện cắt bài với $k$.

Dữ liệu ra

Dữ liệu ra gồm $2n$ dòng. Dòng $1$ in ra số của lá bài trên cùng sau khi sắp xếp xong, dòng $2$ in ra số của lá bài thứ $2$ tính từ trên xuống sau khi sắp xếp xong, cứ như vậy, dòng $i$ in ra số của lá bài thứ $i$ tính từ trên xuống.

Ví dụ

Dữ liệu vào 1

2
2
1
0

Dữ liệu ra 1

2
4
3
1

Dữ liệu vào 2

3
4
2
4
0
0

Dữ liệu ra 2

1
5
4
3
2
6

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.