Mô tả thử thách
Hãy bắt đầu với một số định nghĩa:
- một mối quan hệ là một tập hợp các cặp phần tử được đặt hàng (trong thử thách này, chúng tôi sẽ sử dụng các số nguyên)
Ví dụ, [(1, 2), (5, 1), (-9, 12), (0, 0), (3, 2)]
là một mối quan hệ.
một mối quan hệ được gọi là bắc cầu nếu với bất kỳ hai cặp phần tử nào
(a, b)
và(b, c)
trong mối quan hệ này, một cặp(a, c)
cũng có mặt,[(1, 2), (2, 4), (6, 5), (1, 4)]
mang tính bắc cầu, bởi vì nó chứa(1, 2)
và(2, 4)
, nhưng(1, 4)
cũng vậy,[(7, 8), (9, 10), (15, -5)]
là bắc cầu, bởi vì không có bất kỳ hai cặp nào(a, b)
,(c, d)
hiện tại sao chob
=c
.[(5, 9), (9, 54), (0, 0)]
không phải là bắc cầu, bởi vì nó chứa(5, 9)
và(9, 54)
, nhưng không(5, 54)
Đưa ra một danh sách các cặp số nguyên, xác định xem một mối quan hệ có phải là bắc cầu hay không.
Đầu ra đầu vào
Bạn sẽ được cung cấp một danh sách các cặp số nguyên ở bất kỳ định dạng hợp lý nào. Xem xét một mối quan hệ
[(1, 6), (9, 1), (6, 5), (0, 0)]
Các định dạng sau là tương đương:
[(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
Đầu ra: một giá trị trung thực cho một mối quan hệ bắc cầu, giả mạo khác. Bạn có thể cho rằng đầu vào sẽ bao gồm ít nhất một cặp và các cặp là duy nhất.
(1,3) (2,1) (3,4) (1,4) (2,4)
. Nếu các cặp không được đặt hàng, điều này sẽ không có tính bắc cầu vì (2,3)
bị thiếu.
[(7, 8), (9, 10), (15, -5)]
) không nên bắc cầu?