Decription
每次比较本身和反转的字符,取小的那个
注意PE,题目中有80个换一行
此外有字符串操作
s2.assign(s1.rbegin(), s1.rend());
这句话可以把s2 变为s1的反转,还需要理解
s1.erase(0,1);
erase方法可以从0开始删除,删1个
Code
#include <cstdio>
#include <string>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
string s1;
for (int i=0;i<n;i++)
{
char ch;
scanf("\n%c", &ch);
s1 += ch;
}
int total = 80;
while (!s1.empty())
{
string s2;
s2.assign(s1.rbegin(), s1.rend());
if (s1<s2)
{
putchar(s1[0]);
s1.erase(0,1);
total--;
}else
{
putchar(s2[0]);
s2.erase(0,1);
s1 = s2;
total--;
}
if (total==0)
{
putchar('\n');
total = 80;
}
}
return 0;
}