又是一道很水但是花了我很久的题目。。。。把'%'写成了'/'。。。真是要细心啊!
方法很简单,贪心,但是注意首位字母都相同的情况,用cmp函数依次向下比较,直到不同为止
#include<iostream>
using namespace std;
char S[2010];
bool cmp(int a,int b)
{
while(a<b)
{
if(S[a]==S[b])
a++,b--;
else if(S[a]<S[b])
return true;
else if(S[a]>S[b])
return false;
}
}
int main()
{
int n;
while(cin>>n)
{
for(int i=0;i<n;i++)
cin>>S[i];
int a=0,b=n-1;
for(int i=0;i<n;i++)
{
if(S[a]<S[b])
cout<<S[a++];
else if(S[a]>S[b])
cout<<S[b--];
else if(S[a]==S[b])
{
if(cmp(a,b))
cout<<S[a++];
else cout<<S[b--];
}
if((i+1)%80==0)
cout<<endl;
}
cout<<endl;
}
return 0;
}