【题意】
一个长度为N(N<=1000)的字符串,每次可以从队尾或队首拿出一个字符加入到新字符串队尾,求字典序最小的新字符串
【输入】
第一行一个N
接下来N行每行一个大写字母
【输出】
字典序最小的新字符串
贪心
需要注意的是如果用字符串的长度最长为1000,所以要用ansistring
program poj3617;
var
n,i,j,k:longint;
ans,s1,s2:ansistring;
temp:char;
begin
readln(n);
s1:='';
for i:=1 to n do
begin
readln(temp);
s1:=s1+temp;
end;
s2:='';
for i:=1 to n do
s2:=s2+s1[n-i+1];
ans:='';
for i:=1 to n do
if (s1<>'')and((s2='')or(s1<s2)) then
begin
ans:=ans+s1[1];
delete(s1,1,1);
delete(s2,length(s2),1);
end
else
begin
ans:=ans+s2[1];
delete(s2,1,1);
delete(s1,length(s1),1);
end;
for i:=1 to n do
begin
write(ans[i]);
if i mod 80 = 0 then writeln;
end;
end.