เขียนโปรแกรมเพื่อใช้กราฟ (จากอินพุตมาตรฐานหรือไฟล์ที่คุณเลือก) และหาเส้นทางที่สั้นที่สุดในกราฟ
กราฟถูกระบุโดยใช้รูปแบบต่อไปนี้:
A---S F--T
| / \ |
| / 5 0
|/ \|
D----3--E
A-Z: nodes in the graph
-|/\: edges in the graph
0-9: weights on the edges
<space>: all the holes
ขอบทั้งหมดไม่ได้ถูกบอกทิศทางและอยู่ในแนวเดียวกับ 8 ทิศทางสำคัญ (เช่นไม่มีการโค้ง) ขอบอาจเป็นทางเลือกที่มีน้ำหนักตั้งแต่ 0 ถึง 9 น้ำหนักจะไม่อยู่ในสัญลักษณ์สุดท้ายที่เชื่อมต่อขอบกับโหนด (เช่นขอบต้องมีอย่างน้อย 3 สัญลักษณ์เพื่อมีน้ำหนัก) ขอบที่ไม่ถ่วงมีน้ำหนักเริ่มต้นเท่ากับ 1
รหัสของคุณควรคำนวณเส้นทางที่สั้นที่สุดระหว่างโหนดS
และT
และพิมพ์ความยาวและเส้นทางเช่นนี้
5:SDEFT
โปรแกรมที่ถูกต้องสั้นที่สุดชนะ
ใช่คุณต้องแยกวิเคราะห์กราฟตามที่ฉันระบุ นั่นเป็นปัญหาที่เกิดขึ้นจริง ส่วนเส้นทางที่สั้นที่สุดเพียงตรวจสอบให้แน่ใจว่าการแยกวิเคราะห์ของคุณถูกต้อง
—
Keith Randall
รูปแบบอินพุตนั้นซับซ้อนเกินไปและอิโมไม่ได้เพิ่มปัญหาให้
—
JPvdMerwe
แค่คิดว่าคนที่นี่อยากลองอะไรที่ท้าทายมากกว่านี้
—
Keith Randall
@SimpleCoder: ฉันจะสันนิษฐาน monospace
—
JPvdMerwe
AS0,SD0,SE5,DE3,FE0,FT0
(คุณสามารถละเว้นจุลภาคถ้าแต่ละรายการคือ 3 ไบต์ยาว.)