j606. 2. 造字程式
標籤 : APCS 二維陣列 字串
通過比率 : 1697人/1791人 ( 95% ) [非即時]
評分方式:
Tolerant

最近更新 : 2023-01-09 22:35

內容

有一個長度 $K$ 的的初始字串 $S$,每個字元都是小寫的英文字母。

接下來有 $Q$ 次的修改,每次的修改會把舊的字串重新排列成一個新的字串。
更具體來講,每次修改時會給一個 $1$ ~ $K$ 的排列 $P = [P_1, P_2, ..., P_K]$,要將舊字串的第 $i$ 的字元複製到新字串的第 $P_i$ 個字元。
例子:
    - 若舊字串是 "abac",且 $P = [4, 1, 3, 2]$,可以得到新字串 "bcaa"。
    - 若舊字串是 "bcaa",且 $P = [1, 2, 3, 4]$,可以得到新字串 "bcaa"。
    - 若舊字串是 "bcaa",且 $P = [2, 3, 4, 1]$,可以得到新字串 "abca"。

在 $Q$ 的修改中,每次修改出來的新字串會被當成下一次修改中的舊字串,而第一次修改時使用的舊字串就是初始字串。

題目另外會給一個數字 $R$,請依照下面定義的順序輸出 $R$ 行,每行 $Q$ 個字元
    - 輸出操作 1 ~ $Q$ 的新字串的第 $1$ 個字元
    - 輸出操作 1 ~ $Q$ 的新字串的第 $2$ 個字元
    - ...
    - 輸出操作 1 ~ $Q$ 的新字串的第 $R$ 個字元

輸入說明

第一行有三個整數 $K, Q, R$
第二行是長度 $K$ 的初始字串
接下來有 $Q$ 行,每行有是一個 $1$ ~ $K$ 的排列

(60%) $R=1, 1\leq K, Q \leq 20$
(40%) $1 \leq R \leq K \leq 20, 1 \leq Q \leq 20$

輸出說明

請依照題目敘述輸出 $R \times Q$ 個字元

範例輸入 #1
5 4 1
abcde
2 1 3 5 4
5 1 2 4 3
4 1 2 3 5
3 1 4 5 2
範例輸出 #1
bacd
範例輸入 #2
4 3 4
abac
4 1 3 2
1 2 3 4
2 3 4 1
範例輸出 #2
bba
ccb
aac
aaa
測資資訊:
記憶體限制: 64 MB
提示 :
標籤:
APCS 二維陣列 字串
出處:
2023年1月APCS [管理者: algo.seacow@ ... (演算法海牛) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
43784 a0903029537@ ... (Joan) j606
34 2024-10-31 01:31
37710 zhoudaniel02 ... (周孝倫) j606
690 2023-09-30 23:18
36836 fire5386 (becaidorz) j606
簡易題解
868 2023-08-11 16:37
36049 course@wisea ... (Course WiseAI) j606
Python解
714 2023-07-01 23:08
34967 CodingPrep (演算法/資料結構教學) j606
C++ 詳解
1216 2023-04-29 17:16