#45064: C++ 清晰解


hsuchenru@gmail.com (Thinking)

學校 : 不指定學校
編號 : 210290
來源 : [163.21.203.7]
最後登入時間 :
2025-06-16 10:48:22

#include <bits/stdc++.h>
using namespace std;

void cmd0(string &s,int len){
    for(int i = 0;i<len;i+=2)swap(s[i],s[i+1]);
}

void cmd1(string &s,int len){
    for(int i = 0;i<len;i+=2)if(int(s[i])>int(s[i+1]))swap(s[i],s[i+1]);
}

void cmd2(string &s,int len){
    string ns;
    for(int i = 0;i<len/2;i++){
        ns+=s[i];
        ns+=s[(len/2)+i];
    }
    swap(ns,s);
}

signed main(){
    string s;cin>>s;
    int n,len = s.length();cin>>n;
    while(n--){
        int cmds;cin>>cmds;
        if(cmds==0)cmd0(s,len);
        if(cmds==1)cmd1(s,len);
        if(cmds==2)cmd2(s,len);
    }
    cout<<s<<endl;
    return 0;
}