数学者フォン・コッホの有名なスノーフレークでご存知かもしれません。しかし、彼はもっと興味深いコンピュータサイエンスの問題を抱えています。確かに、この推測を見てみましょう:
n
ノード(したがってn-1
エッジ)を持つツリーを指定します。ノードを列挙するための方法を見つける1
までn
のエッジ、したがって、およびを1
するn-1
各エッジのためにそのようなAのようにk
、そのノード番号の差が等しいですk
。これは常に可能であるという推測です。
これを完全に明確にする例を次に示します。
あなたのタスク
あなたのコードは入力としてツリーを受け取り、あなたはあなたが望むフォーマットを取ることができますが、テストケースのために私はそれらの弧とそれらのノードのリストによってツリーを提供します。
たとえば、次の図はツリーの入力です。
[a,b,c,d,e,f,g]
d -> a
a -> b
a -> g
b -> c
b -> e
e -> f
コードは、ノードとエッジに番号が付けられたツリーを返す必要があります。よりグラフィカルな出力を返すことができますが、テストケースにこの種の出力を提供します。
[a7,b3,c6,d1,e5,f4,g2]
d -> a 6
a -> b 4
a -> g 5
b -> c 3
b -> e 2
e -> f 1
テストケース
[a,b,c,d,e,f,g] [a7,b3,c6,d1,e5,f4,g2]
d -> a d -> a 6
a -> b a -> b 4
a -> g => a -> g 5
b -> c b -> c 3
b -> e b -> e 2
e -> f e -> f 1
[a,b,c,d] [a4,b1,c3,d2]
a -> b a -> b 3
b -> c => b -> c 2
b -> d b -> d 1
[a,b,c,d,e] [a2,b3,c1,d4,e5]
a -> b a -> b 1
b -> c b -> c 2
c -> d => c -> d 3
c -> e c -> e 4
これはコードゴルフですこれはバイトでの最短の答えです!
注:これは、すべての木に優雅なラベルが付けられているとするリンゲル・コッチク予想よりも強力です。Koch予想では、Ringel-Kotzig予想での優雅なラベル付けに反して、ラベル付けの整数をスキップすることはできません。優雅なラベル付けはここまでに求められました。