问题3020--BSD排队

3020: BSD排队

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

小X和他的N(1 <= N <= 2,000)个伙伴满载而归,为了便于管理,来时小X对参加者采用了一种新的登记方案:根据参加者出现的次序简单登记他们姓名的首字母(也就是说Bessie, Sylvia, 和Dora先后到达,他登记为BSD,小X本人不需要登记)。 现在要撤退了,小X开始根据大家登记的情况来安排撤退顺序。重新排队时,每次只能由以前队列的第一个和最后一个人出列排队。当他排好队后,小X带着大家按新的顺序参加登记。给出开始的登记顺序,求出通过这种方法生成的按字典顺序最小的首字母串。

输入

第一行:一个整数:N 第2..N+1行:第i+1行包含一个在原来的排队顺序中排在第i个位置的人的姓名的首字母

输出

输出重新排队后能生成的按字典顺序最小的首字母串。每行包括80个人的首字母(最后一行可能没有80个字母)

样例输入

6
A
C
D
B
C
B

样例输出

ABCBCD
输出说明:
  步数   原来的队列  新的队列
   #1     ACDBCB
   #2      CDBCB     A
   #3      CDBC      AB
   #4      CDB       ABC
   #5      CD        ABCB
   #6       D        ABCBC
   #7                ABCBCD

来源/分类

 

[提交] [状态]