仕事
正の整数が与えられ、その数のノードで「自己補完グラフ」を出力する必要があります。自己補完グラフが何であるかわからない場合、ウィキペディアの記事はあまり役に立ちませんので、以下に技術的説明と非技術的説明の2つの説明があります。
非技術的な
グラフは、線で接続されたノードのセットです。ポイントの各ペアは、1本の線で接続することも、まったく接続しないこともできます。グラフの「補数」は、グラフを取得し、接続されていないすべてのノードを接続し、接続されているすべてのノードを切断した結果です。
自己補完グラフは、その補完を元の形状に再配置できるグラフです。以下は、自己補完グラフの例とその方法のデモです。
以下は、5つのノードを持つグラフです。
接続できるすべての場所を赤い点線で強調表示します。
ここで、赤と黒のエッジを交換して、グラフの補数を見つけます。
これは元のグラフとは異なりますが、ノードをそのように移動すると(各ステップで2つのノードが入れ替わります):
元のグラフを取得します!グラフとその補数は同じグラフです
テクニカル
自己補完グラフは、その補完と同型のグラフです。
仕様書
最適な方法で正の整数を受け取ります。そして、適切と思われる方法でグラフを出力します。これには、隣接行列フォーム、隣接リストフォーム、そしてもちろん写真が含まれますが、これらに限定されません。出力されるグラフは、それ自身の補数であり、整数入力と同じ数のノードを持たなければなりません。そのようなグラフが存在しない場合は、偽の値を出力する必要があります。
これはコードゴルフであり、バイト数を最小限に抑えることを目指してください。
テストケース
以下は、いくつかのnの可能な出力の写真です
4
5
9
GraphData@{"SelfComplementary",{#,1}}&
、n
Wolframのデータベースからlowの例をロードするだけなので、これは任意の大きな入力に対しては機能しません。