a054. 資料卡片還原

中等字串模擬APCS 中級難度

時間限制 1000 ms ・ 記憶體限制 256 MB

題目描述

研究員用一種方式打亂資料卡片上的字串。每次打亂時,他會選定一個正整數 k,並依照下列步驟操作:

  1. 將字串由左到右,依序放入每排 k 個位置的展示架。放滿一排後換下一排;最後一排可以不滿。
  2. 從展示架最左邊的直行開始,由上到下取出字元,再依序處理右邊的直行。沒有放字元的位置直接跳過。

例如,字串 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。

配分方式

子題配分比對方式
子題 130 分完整輸出需完全正確
子題 230 分完整輸出需完全正確
子題 340 分完整輸出需完全正確

範例測資

範例輸入 1

11 1
4
AEIBFJCGKDH

範例輸出 1

ABCDEFGHIJK

範例輸入 2

13 2
4 3
AMJKLEBCDIFGH

範例輸出 2

ABCDEFGHIJKLM
請先登入後再提交程式碼

討論與題解

載入討論區…

更多