給一個字串 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,⋯,n2−1,n2,n2+1,⋯,n−1,並且組合成 0,n2,1,n2+1,⋯,n2−1,n−1。例如 apcsntnu 拆成 apcs 和 ntnu,然後交錯成 anptcnsu。
給定 k 個操作,請依序操作字串,輸出最後的字串結果。
第一列輸入一字串 s ,字串長度保證為偶數。
第二列輸入一數 k,代表接下來有 k 行。
接下來輸入 k 列 o,代表操作動作。
輸出操作完的字串。
範例一: apcsntnu 1 2 範例二: ------ facebook 4 2 0 2 1
範例一: anptcnsu 範例二: ------ bocfkoae
60%:|s|≤10,k=1,o∈{0,1,2}
100%:2≤|s|≤100,1≤k≤100,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。
題解。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |