Codeforces round64
B.ugly pairs
题意大概是说把字符串打乱,使打乱后字符串中任意相邻字符在字典序上不相邻
题解
#include<bits/stdc++.h>
#define ll long long
#define inf 1e7
#define forn(i,n) for(int i=1;i<=(int)n;i++)
#define form(i,n) for(int i=0;i<(int)n;i++)
using namespace std;
const int maxn=105;
int main()
{
int n;cin>>n;
while(n--){
string s;cin>>s;
int len=(int)s.length();
sort(s.begin(),s.end());
string odd,even;
form(i,len){
if(s[i]%2==0)odd+=s[i];
else even+=s[i];
}
int len1=(int)odd.length();
int len2=(int)even.length();
if(len1==0){
cout<<even<<endl;
}
else if(len2==0){
cout<<odd<<endl;
}
else if(fabs(odd[0]-even[len2-1])!=1){
cout<<even+odd<<endl;
}
else if(fabs(even[0]-odd[len1-1])!=1){
cout<<odd+even<<endl;
}
else{
puts("No answer");
}
}
}