Codeforces 242(DIV 2) A题
水题:直接模拟即可,次数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; }