Codeforces 242(DIV 2) A题

来源:互联网 发布:奥卡姆剃刀知乎 编辑:程序博客网 时间:2024/06/06 19:55

水题:直接模拟即可,次数cnt = abs(cnt1-cnt2)/2;

#include<cstdio>#include<string>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int main(){    string s;    int n, ans;    while(~scanf("%d", &n)){        s.clear();        cin >> s;        int cnt1 = 0, cnt2 = 0;        for(int i = 0;i < n;i ++){            if(s[i] == 'x') cnt1 ++;            else cnt2 ++;        }        cout << abs(cnt1-cnt2)/2 << endl;        if(cnt1 == cnt2) cout << s << endl;        else if(cnt1 > cnt2){            int cnt = 0;            for(int i = 0;i < n;i ++){                if(s[i] == 'x') s[i] = 'X', cnt++;                if(cnt == (cnt1-cnt2)/2){                    cout << s << endl;                    break;                }            }        }else{            int cnt = 0;            for(int i = 0;i < n;i ++){                if(s[i] == 'X') s[i] = 'x', cnt++;                if(cnt == (cnt2-cnt1)/2){                    cout << s << endl;                    break;                }            }        }    }    return 0;}


0 0