Ihre Aufgabe besteht darin, festzustellen, ob ein Diagramm planar ist.
Ein Diagramm ist planar, wenn es in die Ebene eingebettet werden kann, oder mit anderen Worten, wenn es ohne überkreuzende Kanten gezeichnet werden kann.
Eingabe: Sie erhalten ein ungerichtetes Diagramm in einem der folgenden Formate:
Kantenliste, z
[(0, 1), (0, 2), (0, 3)]
Angrenzungskarte, z
{0: [1, 2, 3], 1:[0], 2:[0], 3:[0]}
Angrenzende Matrix, z
[[0, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
Knotennamen können Zahlen, Zeichenfolgen oder Ähnliches sein, das von Ihnen gewählte Format muss jedoch ein beliebiges Diagramm unterstützen. Kein Putting-Code in den Knotennamen. Es wird keine Selbstschleifen geben.
Standardmäßige Auswahl der Eingabe, einschließlich STDIN, Befehlszeilenargumenten und Funktionsargumenten.
Ausgabe: Sie sollten eine bestimmte Ausgabe für alle ebenen Diagramme und eine andere bestimmte Ausgabe für alle nicht ebenen Diagramme zurückgeben.
Standardmäßige Auswahl der Ausgabe, einschließlich STDOUT, Funktionsrückgabewert.
Beispiele:
Planar:
[]
[(0,1), (0,2), (0,3), (0,4), (0,5), (0,6)]
[(0,1), (0,2), (0,3), (1,2), (1,3), (2,3)]
[(0,2), (0,3), (0,4), (0,5), (1,2), (1,3), (1,4), (1,5), (2,3),
(2,5), (3,4), (4,5)]
Nichtplanar:
[(0,1), (0,2), (0,3), (0,4), (1,2), (1,3), (1,4), (2,3), (2,4), (3,4)]
[(0,3), (0,4), (0,5), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5)]
[(0,3), (0,4), (0,6), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5), (5,6),
(7,8), (8,9), (7,9)]
Jede Funktion, die explizit Planaritätstests durchführt oder auf andere Weise speziell auf planare Einbettungen Bezug nimmt, ist nicht zulässig.
Das ist Code Golf. Möge der kürzeste Code gewinnen.