Introdução
No campo da matemática conhecido como topologia , existem coisas chamadas axiomas de separação . Intuitivamente, você tem um conjunto Xe uma coleção de subconjuntos dos Xquais podemos considerar propriedades. O sistema é bem separado, se é possível distinguir entre todos os itens ou com Xbase em suas propriedades. Os axiomas de separação formalizam essa ideia. Nesse desafio, sua tarefa é verificar três axiomas de separação, dados Xe a lista de propriedades.
Entrada
Suas entradas são um número inteiro n ≥ 2e uma lista de listas Tde números inteiros. Os números inteiros Tsão retirados X = [0, 1, ..., n-1]. As listas em Tpodem estar vazias e sem classificação, mas não conterão duplicatas.
Saída
Sua saída é uma das quatro seqüências, determinadas por três axiomas de separação, cada um mais forte que o anterior. Existem outros axiomas, mas mantemos estes por simplicidade.
- Suponha que, para todos os distintos
xeyinX, exista uma listaTcontendo exatamente um deles. EntãoXeTsatisfazer axioma T0 . - Suponha que, para todos os distintos
xeyinX, exista duas listas emT, uma das quais contémxmas nãoye a outra contémymas nãox. Então,XeTsatisfaça o axioma T1 . - Suponha que as duas listas acima também não contenham elementos comuns. Então,
XeTsatisfaça o axioma T2 .
Sua saída é um dos T2, T1, T0ou TS, dependendo de qual das condições acima detém ( TSmeios nenhum deles fazem). Observe que T2 é mais forte que T1, que é mais forte que T0, e você sempre deve produzir o axioma mais forte possível.
Regras e pontuação
Você pode escrever um programa completo ou uma função. A menor contagem de bytes vence e as brechas padrão não são permitidas.
Casos de teste
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 []deve dar T2.
nsupérflua? No restante do desafio, não o vejo sendo usado além da definição de quais elementos podem estarT; portanto, é apenas um atalho fornecidoT.Maximum()?