Sie kennen den Mathematiker von Koch vielleicht an seiner berühmten Schneeflocke. Er hat jedoch interessantere Informatikprobleme im Ärmel. Schauen wir uns diese Vermutung an:
Gegeben ein Baum mit n
Knoten (also n-1
Kanten). Finden Sie einen Weg, um die Knoten von 1
bis n
und dementsprechend die Kanten von 1
bis n-1
so aufzulisten, dass für jede Kante k
die Differenz ihrer Knotennummern gleich ist k
. Die Vermutung ist, dass dies immer möglich ist.
Hier ist ein Beispiel, um es klar zu machen:
DEINE AUFGABE
Ihr Code verwendet als Eingabe einen Baum. Sie können das gewünschte Format verwenden. Für die Testfälle werde ich den Baum anhand der Bögen und der Liste der Knoten bereitstellen.
Dies ist beispielsweise die Eingabe für den Baum im Bild:
[a,b,c,d,e,f,g]
d -> a
a -> b
a -> g
b -> c
b -> e
e -> f
Ihr Code muss den Baum mit nummerierten Knoten und Kanten zurückgeben. Sie können eine grafischere Ausgabe zurückgeben, aber ich werde diese Art von Ausgabe für die Testfälle bereitstellen:
[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
TESTFÄLLE
[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
Dies ist Code-Golf, dies ist die kürzeste Antwort in Bytes Win!
Hinweis: Dies ist stärker als die Ringel-Kotzig-Vermutung , wonach jeder Baum eine anmutige Kennzeichnung hat. Da es in der Koch-Vermutung nicht möglich ist, Ganzzahlen für die Kennzeichnung zu überspringen, entgegen der anmutigen Kennzeichnung in der Ringel-Kotzig-Vermutung. Graceful Kennzeichnung wurde vor gefragt hier .