A 優雅なグラフの種類であるシンプルなグラフ。優雅なグラフは特別です。すべてのノードに正の整数でラベルを付ける方法があるため、エッジが接続するノードの違いでエッジにもラベルが付けられる場合、2つのエッジが同じラベルを持たず、すべてのラベルはエッジの数まであります。使用されている。
ワークアウトの例
これは、グレースフルグラフと思われる単純なグラフです。
次のラベルを試してみましょう。
ノードのラベル付けで整数をスキップすることが許可されていることに注意してください。次に、すべてのエッジに、接続するノード間の正の差でラベルを付けます。見やすくするために、これらを赤でラベル付けしました。
各エッジには一意の番号があり、1〜7(エッジの数)の数字は省略されません。したがって、私たちのグラフは優雅です。
仕事
適切な入力方法でグラフが与えられた場合、それが適切な場合は真の値を出力し、それ以外の場合は偽の値を出力します。
これはコードゴルフなので、目的はバイト数を最小限に抑えることです。
テストケース
ここでは、グラフはエッジの配列として表されます。
3 nodes:
[(0,1),(0,2),(1,2)]
True
Labeling:
Node 0 -> 0
Node 1 -> 2
Node 2 -> 3
5 nodes:
[(0,1),(0,4),(1,2),(2,3),(3,4)]
False
5 nodes:
[(0,1),(1,2),(2,3),(3,4)]
True
Labeling:
Node 0 -> 0
Node 1 -> 1
Node 2 -> 3
Node 3 -> 6
Node 4 -> 10
9 nodes
[(0,1),(1,2),(1,7),(1,8),(2,3),(2,6),(3,4),(4,5)]
True
Labeling:
Node 0 -> 0
Node 1 -> 1
Node 2 -> 3
Node 3 -> 6
Node 4 -> 10
Node 5 -> 15
Node 6 -> 11
Node 7 -> 7
Node 8 -> 8
5 nodes
[(0,1),(0,2),(1,2),(1,3),(1,4),(3,4)]
False
[(0,1),(1,2),(2,3),(3,4)]
おそらく注目すべきエッジケースです。
{(k-1,k) : 0 < k < n}
グラフには、同じ数のノードを持つすべてのグラフの最も高いラベルが必要です。
n(n+1)/2
彼らの最高のラベルとして要求するべきである真実です。テストケースを追加しました。