挑战说明
让我们从一些定义开始:
- 一个关系是一组有序的元素对(在这个挑战中,我们将使用整数)
例如,[(1, 2), (5, 1), (-9, 12), (0, 0), (3, 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)]
是传递的,因为没有任何2双(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,3) (2,1) (3,4) (1,4) (2,4)
。如果未订购,则不会(2,3)
丢失,因为缺少。
[(7, 8), (9, 10), (15, -5)]
)将不会传递性?