语言无关 – CodeGolf:查找唯一路径

这是一个很简单的想法,在这个pastebin我已经发布了一些数字。这些表示有向图的节点。对stdin的输入将是形式,(他们将是数字,我将在这里使用一个例子)

c d
q r
a b
b c
d e
p q

所以x y表示x连接到y(不是反向)

该例中有2条路径。 a→b→c→d→e和p→q→r。

您需要从该图中打印所有唯一路径
输出应为格式

a->b->c->d->e
p->q->r

笔记

>您可以假设选择这些数字,使得一个路径不与另一个路径相交(一个节点属于一个路径)
这些对是随机的。
>它们超过1条路径,可以有不同的长度。
>所有数字小于1000。

如果您需要更多详细信息,请发表评论。我会根据需要修改。

无耻插头

对于那些喜欢Codegolf的人,请在Area51为其自己的网站提交:)(对于那些不喜欢它的人,请支持它,所以我们将保持在你的方式…)

ruby – 132 125 87

h=Hash[a=[*$<].map(&:split)]
1000.times{a.map!{|i|i+[h[i[-1]]]-[nil]}}
puts a.sort_by{|i|-i.size}.uniq(&:last).map{|i|i*'->'}

吸收Nas Banov的h.keys-h.values的想法:

h=Hash[[*$<].map &:split]
puts (h.keys-h.values).map{|i|s=i
s+='->'+i=h[i]while h[i];s}
翻译自:https://stackoverflow.com/questions/4551054/codegolf-find-the-unique-paths

转载注明原文:语言无关 – CodeGolf:查找唯一路径