Вступ
У галузі математики, відомої як топологія , є речі, які називаються аксіомами розділення . Інтуїтивно ви маєте набір 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()?