Su tarea es determinar si un gráfico es plano.
Un gráfico es plano si puede incrustarse en el plano, o en otras palabras, si puede dibujarse sin bordes cruzados.
Entrada: Se le dará un gráfico no dirigido en su elección de los siguientes formatos:
Lista de bordes, p. Ej.
[(0, 1), (0, 2), (0, 3)]
Mapa de adyacencia, p. Ej.
{0: [1, 2, 3], 1:[0], 2:[0], 3:[0]}
Matriz adyacente, p. Ej.
[[0, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
Los nombres de nodo pueden ser números, cadenas o similares, pero el formato elegido debe ser compatible con un gráfico arbitrario. No poner código en los nombres de nodo. No habrá self loops.
Elección estándar de entrada, incluidos STDIN, argumentos de línea de comando y argumentos de función.
Salida: debe devolver una salida específica para todos los gráficos planos y una salida específica diferente para todos los gráficos no planos.
Elección estándar de salida, incluido STDOUT, valor de retorno de función.
Ejemplos:
Plano:
[]
[(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)]
No planas:
[(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)]
No se permite ninguna función que realice explícitamente pruebas de planaridad o que haga referencia específica a incrustaciones planas.
Este es el código de golf. Que gane el código más corto.