題目描述
研究員用一種方式打亂資料卡片上的字串。每次打亂時,他會選定一個正整數 k,並依照下列步驟操作:
- 將字串由左到右,依序放入每排
k個位置的展示架。放滿一排後換下一排;最後一排可以不滿。 - 從展示架最左邊的直行開始,由上到下取出字元,再依序處理右邊的直行。沒有放字元的位置直接跳過。
例如,字串 ABCDEFGHIJK 在 k = 4 時會被排成:
A B C D
E F G H
I J K
依直行取出字元後,得到 AEIBFJCGKDH。
研究員對同一張卡片連續操作了 m 次,第 i 次使用的數字是 k_i,每次操作的結果會成為下一次操作的輸入。現在你拿到了最後得到的字串,請還原卡片上最初的字串。
輸入格式
第一行有兩個正整數 n、m,分別代表字串長度與操作次數。
第二行有 m 個正整數 k_1, k_2, ..., k_m,依序代表每次操作使用的數字。
第三行有一個長度為 n 的字串,代表最後得到的字串。字串只包含大寫英文字母。
限制
- 1 ≤ n ≤ 100
- 1 ≤ m ≤ 100
- 1 ≤ k_i ≤ n
子題
- 子題一(30 分):m = 1,且 n 是 k_1 的倍數。
- 子題二(30 分):m = 1。
- 子題三(40 分):無額外限制。
輸出格式
輸出一行,為卡片上最初的字串。
範例一
範例輸入:
11 1
4
AEIBFJCGKDH
範例輸出:
ABCDEFGHIJK
範例二
範例輸入:
13 2
4 3
AMJKLEBCDIFGH
範例輸出:
ABCDEFGHIJKLM
範例二第一次操作得到 AEIMBFJCGKDHL,第二次操作得到 AMJKLEBCDIFGH。
配分方式
| 子題 | 配分 | 比對方式 |
|---|---|---|
| 子題 1 | 30 分 | 完整輸出需完全正確 |
| 子題 2 | 30 分 | 完整輸出需完全正確 |
| 子題 3 | 40 分 | 完整輸出需完全正確 |
範例測資
範例輸入 1
11 1 4 AEIBFJCGKDH
範例輸出 1
ABCDEFGHIJK
範例輸入 2
13 2 4 3 AMJKLEBCDIFGH
範例輸出 2
ABCDEFGHIJKLM
請先登入後再提交程式碼
討論與題解
載入討論區…