首尾比较时,主要问题在于它们相等的处理。
PE的话请仔细看清输出要求。
#include <iostream>
using namespace std;
int n;
char s[2005],e[2005];
void solve();
int main()
{
cin>>n;
for(int i=0;i<n;i++){
cin>>s[i];
}
solve();
return 0;
}
void solve(){
int a=0,b=n-1,t=0;
while(a<=b){
bool flag=0;
for(int i=0;i<=b-a;i++){
if(s[a+i]<s[b-i]){
flag=0;
break;
}
if(s[a+i]>s[b-i]){
flag=1;
break;
}
}
if(!flag) e[t++]=s[a++];
else e[t++]=s[b--];
}
for(t=0;t<n;t++){
if(t&&(t%80==0)) cout<<endl;
cout<<e[t];
}
cout<<endl;
}