Il tuo compito è determinare se un grafico è planare.
Un grafico è planare se può essere incorporato nel piano o, in altre parole, se può essere disegnato senza bordi incrociati.
Input: ti verrà dato un grafico non orientato nella tua scelta dei seguenti formati:
Elenco dei bordi, ad es
[(0, 1), (0, 2), (0, 3)]
Mappa di adiacenza, ad es
{0: [1, 2, 3], 1:[0], 2:[0], 3:[0]}
Matrice adiacente, ad es
[[0, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
I nomi dei nodi possono essere numeri, stringhe o simili, ma il formato scelto deve essere in grado di supportare un grafico arbitrario. Non inserire codice nei nomi dei nodi. Non ci saranno loop automatici.
Scelta standard dell'input, inclusi STDIN, argomenti della riga di comando e argomenti della funzione.
Output: è necessario restituire un output specifico per tutti i grafici planari e un output specifico diverso per tutti i grafici non planari.
Scelta standard dell'uscita, incluso STDOUT, valore di ritorno della funzione.
Esempi:
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)]
non piano:
[(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)]
È vietata qualsiasi funzione che esegue esplicitamente test di planarità o che fa riferimento in modo specifico a incorporamenti planari.
Questo è il codice golf. Che vinca il codice più corto.