QOJ.ac

QOJ

时间限制: 2 s 内存限制: 64 MB 总分: 100

#23759. Mélange de cartes

统计

Il y a $2n$ cartes numérotées de $1$ à $2n$, empilées dans l'ordre $1, 2, 3, \ldots, 2n$ en partant du haut.

Ces cartes sont réarrangées en utilisant plusieurs fois les méthodes suivantes :

Coupe avec l'entier $k$

On sépare le paquet en un tas A formé des $k$ premières cartes du haut et un tas B formé des $2n-k$ cartes restantes, puis on place le tas B sur le tas A.

problem_23759_23aef3360de866e41647ebc46ea8acfd.png

Mélange américain (Riffle shuffle)

On sépare le paquet en un tas A formé des $n$ premières cartes du haut et un tas B formé des $n$ cartes restantes, puis on les réunit en $1$ seul tas de sorte à avoir, en partant du haut : la $1$-re carte de A, la $1$-re carte de B, la $2$-e carte de A, la $2$-e carte de B, $\ldots$, la $n$-ième carte de A, la $n$-ième carte de B.

problem_23759_b7a05d9ba29945a1384455aee42f82a0.png

Écrivez un programme qui réarrange les cartes selon les instructions de l'entrée et affiche les numéros des cartes après réarrangement, dans l'ordre en partant du haut.

Entrée

  • La ligne $1$ contient $n$ ($1 \le n \le 100$). Autrement dit, le nombre de cartes est $2n$.
  • La ligne $2$ contient le nombre d'opérations $m$ ($1 \le m \le 1000$).
  • Les $m$ lignes allant de la ligne $3$ à la ligne $m + 2$ contiennent chacune $1$ entier $k$ compris entre $0$ et $2n-1$, indiquant dans l'ordre la méthode de réarrangement des cartes :
    • Si $k = 0$, on effectue un mélange américain.
    • Si $1 \le k \le 2n-1$, on effectue une coupe avec $k$.

Sortie

La sortie doit comporter $2n$ lignes. Sur la ligne $1$, affichez le numéro de la carte tout en haut après le réarrangement ; sur la ligne $2$, le numéro de la $2$-e carte en partant du haut après le réarrangement ; et ainsi de suite, en affichant sur la ligne $i$ le numéro de la $i$-ième carte en partant du haut.

Exemples

Entrée 1

2
2
1
0

Sortie 1

2
4
3
1

Entrée 2

3
4
2
4
0
0

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