翻译
查看原帖
翻译
705702
user100566楼主2024/11/12 19:05

题目描述

顺序是数学和计算机科学中的一个重要概念。举例来说, 佐恩引理指出:“一个偏序集如果满足其中每一条链都有上界,那么这个偏序集中必然存在一个最大元素。”
顺序在推理程序的不动点语义时也至关重要。
这个问题既不涉及佐恩引理, 也不包括固定点语义, 而是涉及顺序。

给定一个形式为 x<yx<y 的变量约束列表,你要编写一个程序来打印所有与约束一致的顺序。

例如,给定约束 x<yx<yx<zx<z,变量 x,y,zx, y, z 有两种顺序: xyzxyzxzyxzy

输入格式

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

所有变量都是单字符小写字母。每个规范至少有两个变量,不超过 2020 个变量。每个规范至少有一个约束,不超过 5050 个约束。在每个规范的约束下,至少有一个,不超过 300300 个顺序。

输入终止于 EOF

输出格式

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

不同约束规范的输出以空行分隔。

样例输入

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

样例输出

abfg
abgf
agbf
gabf

wxzvy
wzxvy
xwzvy
xzwvy
zwxvy
zxwvy

提示

和大多数 OJ 不同,UVA RemoteJudge 比较答案文件时不过滤行末空格和文末回车,否则会报 Wrong Answer.Presentation error

2024/11/12 19:05
加载中...