b232: P2 字串操作
標籤 : 教學用
通過比率 : 7人/7人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2025-05-25 03:11

內容

給一個字串 $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 , ⋯ , \frac{n}{2} − 1 , \frac{n}{2} , \frac{n}{2}+1 , ⋯ , n−1$,並且組合成 $0 , \frac{n}{2} , 1 , \frac{n}{2}+1 , ⋯ , \frac{n}{2}−1 , n−1$。例如 $apcsntnu$ 拆成 $apcs$ 和 $ntnu$,然後交錯成 $anptcnsu$。

給定 $k$ 個操作,請依序操作字串,輸出最後的字串結果。

輸入說明

第一列輸入一字串 $s$ ,字串長度保證為偶數。

第二列輸入一數 $k$,代表接下來有 $k$ 行。

接下來輸入 $k$ 列 $o$,代表操作動作。

輸出說明

輸出操作完的字串。

範例輸入
範例一:
apcsntnu
1
2
範例二:
------
facebook
4
2
0
2
1
範例輸出
範例一:
anptcnsu
範例二:
------
bocfkoae
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1K
公開 測資點#3 (10%): 1.0s , <1K
公開 測資點#4 (10%): 1.0s , <1K
公開 測資點#5 (10%): 1.0s , <1K
公開 測資點#6 (10%): 1.0s , <1K
公開 測資點#7 (10%): 1.0s , <1K
公開 測資點#8 (10%): 1.0s , <1K
公開 測資點#9 (10%): 1.0s , <1K
提示 :

$60\;\% : | s | \leq 10 \;  , \; k = 1  \; , \; o \in \{0 \; , \; 1 \; , \; 2\}$

$100\;\% : 2\leq | s | \leq 100 \; , \;  1 \leq k \leq 100 \; , \; o \in \{0 \; , \; 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$。

題解

標籤:
教學用
出處:
APCS 2025.01.05 [管理者:
Pote_Liu (13th 初階助教)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」