QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 64 MB 満点: 100

#23759. 洗牌

統計

有 $2n$ 張寫住由 $1$ 到 $2n$ 嘅數字嘅卡,由上至下按 $1, 2, 3, \ldots, 2n$ 嘅順序疊埋一齊。

多次用以下方法將呢啲卡重新排列:

用整數 $k$ 切牌

將牌堆分成由上面數落嚟頭 $k$ 張卡組成嘅牌堆 A 同埋淨低嗰 $2n-k$ 張卡組成嘅牌堆 B 之後,將牌堆 B 放喺牌堆 A 上面。

problem_23759_23aef3360de866e41647ebc46ea8acfd.png

交錯洗牌(Riffle shuffle)

將牌堆分成由上面數落嚟頭 $n$ 張卡組成嘅牌堆 A 同埋淨低嗰 $n$ 張卡組成嘅牌堆 B,然後由上至下順序按 A 嘅第 $1$ 張、B 嘅第 $1$ 張、A 嘅第 $2$ 張、B 嘅第 $2$ 張、$\ldots$、A 嘅第 $n$ 張、B 嘅第 $n$ 張噉樣合併成 $1$ 個牌堆。

problem_23759_b7a05d9ba29945a1384455aee42f82a0.png

請寫一個程式,跟住輸入嘅指示將卡重新排列,並由上至下順序輸出排好之後每張卡嘅編號。

輸入格式

  • 第 $1$ 行寫住 $n$($1 \le n \le 100$)。即係卡嘅總數係 $2n$ 張。
  • 第 $2$ 行寫住操作嘅次數 $m$($1 \le m \le 1000$)。
  • 由第 $3$ 行到第 $m + 2$ 行嘅 $m$ 行入面,每行寫住由 $0$ 到 $2n-1$ 之中嘅 $1$ 個整數 $k$,順序指定將卡重新排列嘅方法:
    • 當 $k = 0$ 嗰陣,進行交錯洗牌。
    • 當 $1 \le k \le 2n-1$ 嗰陣,用 $k$ 進行切牌。

輸出格式

輸出由 $2n$ 行組成。喺第 $1$ 行輸出排完之後最頂嗰張卡嘅編號,喺第 $2$ 行輸出排完之後由上面數落嚟第 $2$ 張卡嘅編號,如此類推,喺第 $i$ 行輸出由上面數落嚟第 $i$ 張卡嘅編號。

樣例

輸入格式 1

2
2
1
0

輸出格式 1

2
4
3
1

輸入格式 2

3
4
2
4
0
0

輸出格式 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.