C. Minimize The Integer
https://codeforces.com/contest/1251/problem/C
这题过的太慢了 自己好菜啊
给了你一个排序规则 只能相邻的换 而且 换还需要保证他们的奇偶性不同
这样 哪怕看样例联系到奇偶性 就很快就可以看出
同奇偶的数据他们的顺序是不可能变了 但是不同奇偶的 可以随便换 这题就开始水了
自己想了好久 怎么取找最前面可以换的与当前的不同奇偶性的数 写了好久 慢慢才发现 不需要
#include <bits/stdc++.h>
using namespace std;
const int maxn = 106 + 10;
int cas, n;
string str;
queue<char> o, e;
int main() {
cin >> cas;
while(cas --) {
cin >> str;
for(int i = 0; i < str.size(); i ++) {
if((str[i] - '0') % 2 == 1)
o.push(str[i]);
else
e.push(str[i]);
}
while(!o.empty() || !e.empty()) {
if(o.empty()) {
cout << e.front();
e.pop();
} else if(e.empty()) {
cout << o.front();
o.pop();
} else {
if(e.front() > o.front()) {
cout << o.front();
o.pop();
} else {
cout << e.front();
e.pop();
}
}
}
cout << endl;
//cout << str << endl;
}
return 0;
}