#P750. 士兵排队

士兵排队

问题描述:

有n个士兵(1≤n≤26),编号依次为A、B、C,…… 队列训练时,指挥官要把一些士兵从高到矮依次排成一行。但现在指挥官不能直接获得每个人的身高信息,只能获得“p1比p2高”这样的比较结果(p1,p2∈{'A',…,'Z'}),记为p1>p2。例如A>B,B>D,F>D。士兵的身高关系如图所示:

对应的排队方案有三个:AFBD、FABD、ABFD。

输入:(soldier.in)

第一行:一个整数k

第二至第k+1行:每行两个大写字母(中间和末尾都没有空格),代表两个士兵,且第一个士兵高度大于第二个士兵。

输出:(soldier.out)

一个只包含大写字母的字符序列,表示排队方案(输出字典序最小的一种方案即可)。

输入样例:(soldier.in)

3
AB
BD
FD

输出样例:(soldier.out)

ABFD