【题意】
一个长度为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.