Es posible que conozca al matemático von Koch por su famoso copo de nieve. Sin embargo, tiene problemas de ciencias de la computación más interesantes bajo la manga. De hecho, echemos un vistazo a esta conjetura:
Dado un árbol con n
nodos (por lo tanto, n-1
bordes). Encuentre una manera de enumerar los nodos de 1
a n
y, en consecuencia, los bordes de 1
a n-1
de tal manera que para cada borde k
la diferencia de sus números de nodo sea igual a k
. La conjetura es que esto siempre es posible.
Aquí hay un ejemplo para dejarlo perfectamente claro:
TU TAREA
Su código tomará como entrada un árbol, puede tomar el formato que desee, pero para los casos de prueba, proporcionaré el árbol por sus arcos y la lista de sus nodos.
Por ejemplo, esta es la entrada para el árbol en la imagen:
[a,b,c,d,e,f,g]
d -> a
a -> b
a -> g
b -> c
b -> e
e -> f
Su código debe devolver el árbol con nodos y bordes numerados. Puede devolver una salida más gráfica, pero proporcionaré este tipo de salida para los casos de prueba:
[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
CASOS DE PRUEBA
[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
Este es el código de golf, ¡ esta es la respuesta más corta en bytes!
Nota: Esto es más fuerte que la conjetura de Ringel-Kotzig , que establece que cada árbol tiene un etiquetado elegante. Dado que en la conjetura de Koch no es posible omitir números enteros para el etiquetado contrario al etiquetado elegante en la conjetura de Ringel-Kotzig. Se ha pedido un etiquetado elegante antes aquí .