Processing math: 100%


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,...,n1,將字串分成兩半為0,1,,n21,n2,n2+1,,n1,並且組合成 0,n2,1,n2+1,,n21,n1。例如 apcsntnu 拆成 apcsntnu,然後交錯成 anptcnsu

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

輸入說明

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

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

接下來輸入 ko,代表操作動作。

輸出說明

輸出操作完的字串。

範例輸入
範例一:
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|10,k=1,o{0,1,2}

100%:2|s|100,1k100,o{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 初階助教)
]


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