注意最后输出的时候每80个就要换一次行(PE两次后的教训之认真看题)
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n;
char s[20000],T[20000];
int main()
{
scanf("%d",&n);
for(int i = 1; i <= n; i ++)
{
cin>>s[i];
}
int l = 1,r = n,i=1;
while(l!=r)
{
if(s[l]-'A' < s[r]-'A')
{
T[i] = s[l];
l ++;
}
else if(s[l]-'A' > s[r]-'A')
{
T[i] = s[r];
r--;
}
else
{
int ll = l;
int rr = r;
while(s[ll] == s[rr])
{
ll++;
rr--;
}
if(s[ll]-'A' < s[rr]-'A')
{
T[i] = s[l];
l ++;
}
else
{
T[i] = s[r];
r--;
}
}
i++;
}
T[i] = s[l];
for(int i = 1; i <= n; i ++)
{
if(i%80 != 0)
cout <<T[i];
else cout <<T[i]<<endl;
}
return 0;
}