คุณอาจรู้จัก von Koch ซึ่งเป็นนักคณิตศาสตร์จากเกล็ดหิมะชื่อดังของเขา อย่างไรก็ตามเขามีปัญหาด้านวิทยาศาสตร์คอมพิวเตอร์ที่น่าสนใจมากกว่าเดิม ที่จริงเรามาดูการคาดเดานี้:
ให้ต้นไม้ที่มีnโหนด (ดังนั้นn-1ขอบ) หาวิธีที่จะระบุโหนดจาก1ไปnและตามขอบจาก1ไปn-1ในลักษณะที่แต่ละขอบแตกต่างของตัวเลขโหนดของมันเท่ากับ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
นี่คือcode-golfนี่เป็นคำตอบที่สั้นที่สุดในหน่วยไบต์!
หมายเหตุ: นี่ดีกว่าการคาดคะเน Ringel-Kotzigซึ่งระบุว่าต้นไม้ทุกต้นมีการติดฉลากที่สง่างาม เนื่องจากในการคาดคะเน Koch มันเป็นไปไม่ได้ที่จะข้ามจำนวนเต็มสำหรับการติดฉลากที่ตรงกันข้ามกับการติดฉลากที่สง่างามในการคาดคะเน Ringel-Kotzig การติดฉลากที่สง่างามได้รับการถามก่อนที่นี่
