Einführung
Auf dem Gebiet der Mathematik, bekannt als Topologie , gibt es Dinge, die Trennungsaxiome genannt werden . Intuitiv haben Sie eine Menge Xund eine Sammlung von Teilmengen X, die wir uns als Eigenschaften vorstellen können. Das System ist gut getrennt, wenn man alle Gegenstände Xanhand ihrer Eigenschaften unterscheiden kann. Die Trennungsaxiome formalisieren diese Idee. In dieser Herausforderung besteht Ihre Aufgabe darin, drei gegebene Trennungsaxiome Xund die Liste der Eigenschaften zu überprüfen .
Eingang
Ihre Eingaben sind eine Ganzzahl n ≥ 2und eine Liste Tmit ganzen Zahlen. Die Ganzzahlen in Twerden von gezogen X = [0, 1, ..., n-1]. Die Listen in sind Tmöglicherweise leer und unsortiert, enthalten jedoch keine Duplikate.
Ausgabe
Ihre Ausgabe ist eine von vier Zeichenfolgen, die durch drei Trennungsaxiome bestimmt werden, von denen jedes stärker ist als das letzte. Es gibt andere Axiome, aber der Einfachheit halber bleiben wir bei diesen.
- Nehmen wir an, dass es für alle unterschiedlichen
xundyinXeine Liste gibt, inTder genau einer von ihnen enthalten ist. DannXundTbefriedige Axiom T0 . - Angenommen, für alle unterschiedlichen
xundyinXexistieren zwei Listen inT, von denen eine enthält,xaber nichty, und die andere enthält,yaber nichtx. DannXundTbefriedige Axiom T1 . - Angenommen, die beiden obigen Listen enthalten auch keine gemeinsamen Elemente. Dann
XundTbefriedige Axiom T2 .
Die Ausgabe ist eine von T2, T1, T0oder TS, je nachdem , welche der oben genannten Bedingungen hält ( TSMittel keiner von ihnen tun). Beachten Sie, dass T2 stärker ist als T1, was stärker ist als T0, und Sie sollten immer das stärkste mögliche Axiom ausgeben.
Regeln und Wertung
Sie können ein vollständiges Programm oder eine Funktion schreiben. Die niedrigste Byteanzahl gewinnt, und Standardlücken sind nicht zulässig.
Testfälle
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 []sollte geben T2.
nüberflüssig? Im Rest der Herausforderung sehe ich keine Verwendung, die über die Definition der Elemente hinausgeht. IstTdies also nur eine Abkürzung fürT.Maximum()?