QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 64 MB Total points: 100

#23759. Mescolamento delle carte

Statistics

Ci sono $2n$ carte su cui sono scritti i numeri da $1$ a $2n$, impilate nell'ordine $1, 2, 3, \ldots, 2n$ dall'alto verso il basso.

Queste carte vengono riordinate utilizzando più volte i seguenti metodi:

Taglio con l'intero $k$

Dopo aver diviso il mazzo nel mucchio A formato dalle prime $k$ carte dall'alto e nel mucchio B formato dalle restanti $2n-k$ carte, si posiziona il mucchio B sopra il mucchio A.

problem_23759_23aef3360de866e41647ebc46ea8acfd.png

Mescolamento all'americana (Riffle shuffle)

Si divide il mazzo nel mucchio A formato dalle prime $n$ carte dall'alto e nel mucchio B formato dalle restanti $n$ carte, e si uniscono in $1$ unico mucchio in modo che dall'alto ci siano nell'ordine: la $1$ª carta di A, la $1$ª carta di B, la $2$ª carta di A, la $2$ª carta di B, $\ldots$, la $n$-esima carta di A, la $n$-esima carta di B.

problem_23759_b7a05d9ba29945a1384455aee42f82a0.png

Scrivete un programma che riordini le carte seguendo le istruzioni dell'input e stampi i numeri delle carte dopo il riordinamento, in ordine dall'alto verso il basso.

Input

  • Sulla riga $1$ è scritto $n$ ($1 \le n \le 100$). Vale a dire che il numero di carte è $2n$.
  • Sulla riga $2$ è scritto il numero di operazioni $m$ ($1 \le m \le 1000$).
  • Nelle $m$ righe dalla riga $3$ alla riga $m + 2$ è scritto $1$ intero $k$ compreso tra $0$ e $2n-1$, che specifica nell'ordine il metodo per riordinare le carte:
    • Nel caso $k = 0$, si esegue un mescolamento all'americana.
    • Nel caso $1 \le k \le 2n-1$, si esegue un taglio con $k$.

Output

L'output deve consistere di $2n$ righe. Sulla riga $1$ stampate il numero della carta più in alto al termine del riordinamento, sulla riga $2$ il numero della $2$ª carta dall'alto al termine del riordinamento, e così via, stampando sulla riga $i$ il numero della $i$-esima carta dall'alto.

Esempi

Input 1

2
2
1
0

Output 1

2
4
3
1

Input 2

3
4
2
4
0
0

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