#P1270. Following Orders

    ID: 271 传统题 1000ms 256MiB 尝试: 1 已通过: 0 难度: 10 上传者: 标签>搜索字符串难度普及+/提高Duke Internet Programming Contest 1993uva 124

Following Orders

描述

顺序在数学和计算机科学中是一个重要的概念。例如,佐恩引理指出:“每一个链都有上界的偏序集包含一个极大元。” 顺序在关于程序的不动点语义的推理中也很重要。

这个问题既不涉及佐恩引理也不涉及不动点语义,但确实涉及顺序。

给定一个形如 x<yx < y 的变量约束列表,你需要编写一个程序,打印出所有与这些约束一致的变量顺序。

例如,给定约束 x<yx < yx<zx < z,对于变量 xxyyzz,有两种与这些约束一致的顺序:x y zx\ y\ zx z yx\ z\ y

输入

输入由一系列约束规范组成。一个规范由两行组成:一行是变量列表,下一行是约束列表。一个约束由一对变量给出,其中 x yx\ y 表示 x<yx < y

所有变量都是单个小写字母。一个规范中至少有两个变量,且不超过 20 个变量。一个规范中至少有一个约束,且不超过 50 个约束。一个规范中与约束一致的顺序至少有一个,且不超过 300 个。

输入以文件结束符终止。

输出

对于每个约束规范,应打印出所有与约束一致的顺序。顺序按字典序(字母序)打印,每行一个。

不同约束规范的输出之间用一个空行分隔。

输入数据 1

a b f g
a b b f
v w x y z
v y x v z v w v

输出数据 1

abfg
abgf
agbf
gabf

wxzvy
wzxvy
xwzvy
xzwvy
zwxvy
zxwvy

来源

1993 年杜克大学互联网编程竞赛,uva 124