#P1094. Sorting It All Out
Sorting It All Out
描述
一个由不同值组成的升序排序序列是指使用某种小于运算符将元素按从小到大的顺序排列的序列。例如,已排序的序列 A, B, C, D 意味着 , 且 。在这个问题中,我们会给你一组形如 的关系,并要求你判断是否已经确定了一个排序顺序。
输入
输入由多个问题实例组成。每个实例以包含两个正整数 和 的一行开始。第一个值表示要排序的对象数量,其中 。要排序的对象将是大写字母表的前 个字符。第二个值 表示在这个问题实例中给出的形如 的关系数量。接下来将有 行,每行包含一个这样的关系,由三个字符组成:一个大写字母、字符 “<” 和第二个大写字母。任何字母都不会超出大写字母表前 个字母的范围。当 时,表示输入结束。
输出
对于每个问题实例,输出由一行组成。这一行应该是以下三种情况之一: 在处理了 xxx 个关系后确定了排序序列:yyy...y。 无法确定排序序列。 在处理了 xxx 个关系后发现了不一致性。 其中 xxx 是在确定排序序列或发现不一致性(以先出现的为准)时已处理的关系数量,而 yyy...y 是已排序的升序序列。
4 6
A<B
A<C
B<C
C<D
B<D
A<B
3 2
A<B
B<A
26 1
A<Z
0 0
Sorted sequence determined after 4 relations: ABCD.
Inconsistency found after 2 relations.
Sorted sequence cannot be determined.
来源
2001 年美国中东部地区竞赛