Вступ
У галузі математики, відомої як топологія , є речі, які називаються аксіомами розділення . Інтуїтивно ви маєте набір X
і колекцію підмножини X
, які ми можемо вважати властивостями. Система добре відокремлена, якщо можна виокремити всі предмети на X
основі їх властивостей. Аксіоми розділення формалізують цю думку. У цьому завданні ваше завдання - перевірити три розділені аксіоми, наведені X
та перелік властивостей.
Вхідні дані
Ваші входи - ціле число n ≥ 2
та список списків T
цілих чисел. Цілі числа у T
виведені з X = [0, 1, ..., n-1]
. Список у T
пусті може бути порожнім і несортованим, але вони не містять дублікатів.
Вихідні дані
Вихід - одна з чотирьох рядків, визначена трьома роздільними аксіомами, кожна сильніша за останню. Є й інші аксіоми, але ми їх дотримуємось для простоти.
- Припустимо, що для всіх чітких
x
іy
вX
, існує список, якийT
містить саме один з них. ТодіX
іT
задовольнимо аксіому T0 . - Припустимо, що для всіх відмінних
x
іy
вX
, існує два списки вT
, один з яких містить,x
але ніy
, а інший містить,y
але ніx
. ТодіX
іT
задовольнимо аксіому Т1 . - Припустимо, що два вищевказані списки також не містять загальних елементів. Тоді
X
іT
задовольнимо аксіому Т2 .
Ваш вихід один з T2
, T1
, T0
або TS
, в залежності від того, яка із зазначених вище умов не виконано ( TS
засіб , ніхто з них робити). Зауважте, що Т2 сильніший за Т1, який сильніший за Т0, і завжди слід виводити найсильнішу можливу аксіому.
Правила та оцінка
Ви можете написати повну програму або функцію. Виграє найменший кількість байтів, а стандартні лазівки заборонені.
Тестові кейси
2 [] -> TS
2 [[],[1]] -> T0
2 [[0],[1]] -> T2
3 [[0],[0,1,2],[1,2]] -> TS
3 [[],[0],[0,1],[2]] -> T0
3 [[0],[0,1],[2,1],[0,1,2]] -> T0
3 [[0],[0,1],[2,1],[2,0]] -> T1
6 [[0,2,4],[0,3,5],[1,2],[3,4,5]] -> TS
6 [[0,2,4],[0,3,5],[1,2],[2,5],[3,4,5]] -> T0
6 [[0,2,4],[0,3,5],[1,2],[2,5],[3,1],[3,4,5]] -> T1
6 [[0,1],[0,2,3],[1,4],[2,4],[2,3,5],[1,3],[4,5]] -> T2
0 []
повинні дати T2
.
n
зайвим? В решті завдань, я не бачу, щоб він використовувався за межами визначення того, які елементи можуть бутиT
, тому це просто наданий ярликT.Maximum()
?