#45367: string + switch case


marskung88@gmail.com (M4°R5)

學校 : 不指定學校
編號 : 247337
來源 : [163.21.203.7]
最後登入時間 :
2024-09-11 10:07:27
q182. 2. 字串操作 -- 2025年1月APCS | From: [163.21.203.7] | 發表日期 : 2025-02-20 11:03

```

#include <iostream>

using namespace std;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    string s,tmp;
    int k,m,ls,ls2,i;
    cin >> s >> k;
    ls = s.size();
    ls2 = ls / 2;
    while (k--){
        cin >> m;
        switch(m){
            case 0:
                for (i = 0;i < ls;i += 2) swap(s[i],s[i+1]);
                break;
            case 1:
                for (i = 0;i < ls;i += 2) if(s[i] > s[i+1]) swap(s[i],s[i+1]);
                break;
            case 2:
                tmp = "";
                for (i = 0;i < ls2;i++) tmp = tmp + s[i] + s[i+ls2];
                s = tmp;
                break;
        }
    }
    cout << s;
}
```

 
ZeroJudge Forum