编写一个程序或函数,该程序或函数包含使用小于运算符()的非空数学不等式列表<。列表中的每一行都具有以下形式:
[variable] < [variable]
其中a [variable]可以是任何小写az字符的非空字符串。与普通数学和编程一样,具有相同名称的变量是相同的。
如果可以为每个变量分配一个正整数,以便满足所有不等式,则可以打印或返回带有此类分配的变量列表。此列表中的每一行都应具有以下形式:
[variable] = [positive integer]
并且所有变量必须以任何顺序恰好出现一次。
请注意,对于不等式集合可能有许多可能的正整数解。其中任何一个都是有效输出。
如果不解决不平等问题,则不输出任何内容或输出虚假值(由您决定)。
以字节为单位的最短代码获胜。
例子
如果输入是
mouse < cat
mouse < dog
那么所有这些都是有效的输出:
mouse = 1
cat = 2
dog = 2
mouse = 37
cat = 194
dog = 204
mouse = 2
cat = 2000000004
dog = 3
如果输入是
rickon < bran
bran < arya
arya < sansa
sansa < robb
robb < rickon
那么就不可能进行赋值,因为它归结为rickon < rickon,所以没有输出或虚假的输出。
解决方案的更多示例:
x < y
x = 90
y = 91
---
p < q
p < q
p = 1
q = 2
---
q < p
q < p
p = 2
q = 1
---
abcdefghijklmnopqrstuvwxyz < abcdefghijklmnopqrstuvwxyzz
abcdefghijklmnopqrstuvwxyz = 123456789
abcdefghijklmnopqrstuvwxyzz = 1234567890
---
pot < spot
pot < spot
pot < spots
pot = 5
spot = 7
spots = 6
---
d < a
d < b
d < c
d < e
d = 1
a = 4
b = 4
c = 5
e = 4
---
aa < aaaaa
a < aa
aaa < aaaa
aa < aaaa
a < aaa
aaaa < aaaaa
aaa < aaaaa
a < aaaaa
aaaa = 4
aa = 2
aaaaa = 5
a = 1
aaa = 3
---
frog < toad
frog < toaster
toad < llama
llama < hippo
raccoon < science
science < toast
toaster < toad
tuna < salmon
hippo < science
toasted < toast
raccoon = 1
frog = 2
toaster = 3
toasted = 4
toad = 5
llama = 6
hippo = 7
science = 8
toast = 9
tuna = 10
salmon = 11
没有解决方案的更多示例:(以空行分隔)
z < z
ps < ps
ps < ps
q < p
p < q
p < q
q < p
a < b
b < c
c < a
d < a
d < b
d < c
d < d
abcdefghijklmnopqrstuvwxyz < abcdefghijklmnopqrstuvwxyz
bolero < minuet
minuet < bolero
aa < aaaaa
a < aa
aaa < aaaa
aa < aaaa
aaaaa < aaaa
a < aaa
aaaa < aaaaa
aaa < aaaaa
a < aaaaa
g < c
a < g
b < a
c < a
g < b
a < g
b < a
c < a
g < b
a < g
b < a
c < b
g < c
a < g
b < a
c < b
geobits < geoborts
geobrits < geoborts
geology < geobits
geoborts < geology
2
密切相关
—
Peter Taylor
运行时有限制吗?
—
Downgoat
@Vɪʜᴀɴ不容错过。
—
加尔文的爱好2015年
我们如何知道输入何时结束?是否有空行或其他东西?
—
汉尼斯·卡皮拉2015年
@是。您可以假设有尾随换行符。
—
加尔文的爱好