あなたの仕事は、グラフが平面かどうかを判断することです。
グラフは、平面に埋め込むことができる場合、つまり交差するエッジなしで描画できる場合は平面です。
入力:次の形式から選択した無向グラフが表示されます。
エッジリスト、たとえば
[(0, 1), (0, 2), (0, 3)]
隣接マップ、例えば
{0: [1, 2, 3], 1:[0], 2:[0], 3:[0]}
隣接行列、例えば
[[0, 1, 1, 1], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
ノード名は数字、文字列などになりますが、選択する形式は任意のグラフをサポートできる必要があります。ノード名にコードを入れません。自己ループはありません。
標準入力、STDIN、コマンドライン引数、関数引数など。
出力:すべての平面グラフに対して特定の出力を返し、すべての非平面グラフに対して異なる特定の出力を返す必要があります。
STDOUT、関数の戻り値など、出力の標準選択。
例:
平面:
[]
[(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)]
非平面:
[(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)]
平面性テストを明示的に実行する関数、または平面埋め込みを明確に参照する関数は許可されません。
これはコードゴルフです。最短のコードが勝つように。