Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จำนวนหยุดขั้นต่ำจากเส้นทางที่กำหนดใน C++


คำชี้แจงปัญหา

  • มีหลายจุดในพื้นที่สองมิติที่ต้องเข้าชมในลำดับที่เฉพาะเจาะจง
  • เส้นทางจากจุดหนึ่งไปยังอีกจุดหนึ่งจะถูกเลือกให้เป็นเส้นทางที่สั้นที่สุดเสมอ และส่วนของเส้นทางจะถูกจัดแนวด้วยเส้นกริดเสมอ
  • เราจะได้รับเส้นทางสำหรับการเยี่ยมชมจุดต่างๆ เราจำเป็นต้องบอกจำนวนจุดขั้นต่ำที่จำเป็นในการสร้างเส้นทางที่กำหนด

อัลกอริทึม

<ก่อน>1. เราสามารถแก้ปัญหานี้ได้โดยสังเกตรูปแบบการเคลื่อนไหวเมื่อไปที่จุดแวะ2 หากเราต้องการใช้เส้นทางที่สั้นที่สุดจากจุดหนึ่งไปยังอีกจุดหนึ่ง เราจะเคลื่อนไปในทิศทางใดทิศทางหนึ่งหรือสูงสุดสองทิศทาง

ตัวอย่าง

#include ใช้เนมสเปซ std;int getMinStops (เส้นทางสตริง) { int n =path.length (); แผนที่<ถ่าน int> directionMap; int หยุด =1; สำหรับ (int i =0; i