Matematikçi von Koch'u ünlü kar tanesiyle tanıyor olabilirsiniz. Ancak daha ilginç bilgisayar bilimi sorunları var. Gerçekten, bu varsayımlara bir göz atalım:
n
Düğümleri olan bir ağaç verilir (böylece n-1
kenarlar). Düğümler numaralandırmak için bir yol bulmak 1
için n
ve, buna bağlı olarak, gelen kenarları 1
için n-1
öyle bir şekilde, her bir kenar için k
olan düğüm sayıları farkı eşittir k
. Tahmin, bunun her zaman mümkün olduğudur.
İşte mükemmel bir şekilde açıklamak için bir örnek:
SENİN GÖREVİN
Kodunuz bir ağaç girişi olarak alacaktır, istediğiniz formatı alabilirsiniz, ancak test senaryoları için ağacı yayları ve düğümlerinin listesi ile vereceğim.
Örneğin, resimdeki ağaç için giriş budur:
[a,b,c,d,e,f,g]
d -> a
a -> b
a -> g
b -> c
b -> e
e -> f
Kodunuz ağacı düğümler ve kenarlar numaralandırılmış olarak döndürmelidir. Daha grafiksel bir çıktı döndürebilirsiniz, ancak test senaryoları için bu tür çıktılar sağlayacağım:
[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
TEST DAVALARI
[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
Bu kod golf bu bayt kazanmak en kısa cevap!
Not: Bu, her ağacın zarif bir etikete sahip olduğunu belirten Ringel-Kotzig varsayımından daha güçlüdür . Koch varsayımında Ringel-Kotzig varsayımındaki zarif etiketlemenin aksine etiketleme için tam sayıları atlamak mümkün değildir. Daha önce burada zarif etiketleme istenmiştir .