チャレンジの説明
いくつかの定義から始めましょう:
- 関係は、要素の順序対の集合である(この課題では、我々は整数を使用することがあります)
たとえば[(1, 2), (5, 1), (-9, 12), (0, 0), (3, 2)]
、関係です。
関係は、要素の任意の2つのペアに対して推移的と呼ばれ
(a, b)
、(b, c)
この関係で、ペアが(a, c)
また存在し、[(1, 2), (2, 4), (6, 5), (1, 4)]
それが含まれているため、推移的である(1, 2)
と(2, 4)
、しかし、(1, 4)
同様に、[(7, 8), (9, 10), (15, -5)]
任意の二つのペアが存在しないため、推移的であり(a, b)
、(c, d)
本ようb
=c
です。[(5, 9), (9, 54), (0, 0)]
は推移的では(5, 9)
あり(9, 54)
ません。(5, 54)
整数のペアのリストを指定して、関係が推移的かどうかを判断します。
入出力
合理的な形式の整数のペアのリストが提供されます。関係を考える
[(1, 6), (9, 1), (6, 5), (0, 0)]
次の形式は同等です。
[(1, 6), (9, 1), (6, 5), (0, 0)] # list of pairs (2-tuples)
[1, 9, 6, 0], [6, 1, 5, 0] # two lists [x1, x2, ..., xn] [y1, y2, ..., yn]
[[1, 6], [9, 1], [6, 5], [0, 0] # two-dimentional int array
[4, 1, 6, 9, 1, 6, 5, 0, 0] # (n, x1, y1, ..., xn, yn)
[1+6i, 9+i, 6+5i, 0+0i] # list of complex numbers
... many others, whatever best suits golfing purposes
出力:推移的関係の真の値、それ以外の場合は偽。入力は少なくとも1つのペアで構成され、ペアは一意であると想定できます。
(1,3) (2,1) (3,4) (1,4) (2,4)
。ペアが注文されなかった場合、これ(2,3)
は欠落しているため推移的ではありません。
[(7, 8), (9, 10), (15, -5)]
)は推移的ではありませんか?