給一個字串 $S$,有三種字串操作,分別如下
1. 兩兩交換:將字串內相鄰兩個字元交換,例如字串 "apcsntnu" 先分組成 (ap)(cs)(nt)(nu),將會交換為 (pa)(sc)(tn)(un),即得到 "pasctnun"。
2. 兩兩排序:將字串內相鄰兩個字元按照字典序排序,字元的字典序為 a < b < ... < z,例如字串 "family" 先分組成 (fa)(mi)(ly),將會交換成 (af)(im)(ly),即得到 "afimly"。
3. 完美重排:假設字串長度為 $n$,將字串內的字元編號為 $0, 1, 2, ..., n-1$,將字串分成兩半為 $0, 1, \cdots, \frac{n}{2}-1$ 和 $\frac{n}{2}, \frac{n}{2} + 1, \cdots, n-1$,並且組合成 $0, \frac{n}{2}, 1, \frac{n}{2} + 1, \cdots, \frac{n}{2}-1, n-1$。例如 "apcsntnu" 拆成 "apcs" 和 "ntnu",然後交錯成 "anptcnsu"。
給定 $k$ 個操作,請依序操作字串,輸出最後的字串結果。
第一行輸入一個字串 $S (2 \le |S| \le 100)$,字串長度保證為偶數。接下來一行輸入一個正整數 $k$,接下來有 $k$ 行,每一行有一個數字,種類為 $0, 1, 2$。
(60 分): $|S| \le 10$, $k = 1$ 且保證操作為完美重排
(40 分): 無限制
輸出操作完之後的字串內容。
apcsntnu 1 2
anptcnsu
facebook 4 2 0 2 1
bocfkoae
範例測資1如題序所述
範例測資2:
操作2: "facebook" 變為 "fbaocoek"。
操作0: "fbaocoek" 分組為 (fb)(ao)(co)(ek) 變為 (bf)(oa)(oc)(ke),字串為 "bfoaocke"。
操作2: "bfoaocke" 變為 "bofcokae"。
操作1: "bofcokae" 分組為 (bo)(fc)(ok)(ae) 變為 (bo)(cf)(ko)(ae),字串為 "bocfkoae"。
特別感謝 Jacky 補充完美重排例子!
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
45075 | happypiano95 ... (Jacky924) | q182 | 107 | 2025-01-05 22:08 | |
45065 | chuo.961018@ ... (卓泓丞) | q182 | 255 | 2025-01-05 20:32 | |
45101 | yuentw046@gm ... (yuen) | q182 | 18 | 2025-01-07 14:09 | |
45096 | s210504@stud ... (凃勝竣) | q182 | 50 | 2025-01-06 20:17 | |
45071 | 812034alex@g ... (薛宇峻) | q182 | 119 | 2025-01-05 21:01 |