Опис виклику
Почнемо з деяких визначень:
- ставлення є безліч впорядкованих пар елементів (у цій проблемі, ми будемо використовувати цілі числа)
Наприклад, [(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)]
є транзитивним, оскільки немає двох пар(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)]
) не бути перехідним?