在数学中,字典或词典顺序(也称为词汇顺序,字典顺序,字母顺序或词典顺序)是基于字母顺序排列的单词按字母顺序排列的方法,如abcdefg........也称为字典序。
字典序最最小:指的是顺序最小和字符串的长度无关。
如 d 和 abcd 比较,d>a, 然后直接结束比较。abcd为最小字典序。
在ab 和 abc 比较,前两个字符一样,然后abc字符串长。ab为最小字典序。
题目大意
给一行只包含a,b的字符串,要求区分字符串为三段a,b,c
按字典序排列,要b段最大或者要b段最小。
大体思路
分三段比较
#include <bits/stdc++.h>
using namespace std;
void solve()
{
string s;
cin>>s;
int isp=0;
int n=0;
for(int i=1;i<s.size();i++)
if(s[i]=='a'&&i!=s.size()-1)
{
isp=1,n=i;//记录第一个a的位置
break;
}
//isp是一个判断作用
if(isp)
{
for(int i=0;i<s.size();i++)
{
if(i!=n) cout<<s[i];
else cout<<" "<<s[n]<<" ";
}
cout<<endl;
return;
}
else
{
for(int i=0;i<s.size();i++)
{
if(i==0) cout<<s[i]<<" ";
else if(i>0&&i<s.size()-1) cout<<s[i];
else cout<<" "<<s[i];
}
cout<<endl;
}
}
int main()
{
int t;
cin>>t;
while(t--) solve();
return 0;
}