ฉันต้องการขออภัยในการโพสต์ทั้งหมดด้านล่าง เลือกฟอรัมที่ไม่ถูกต้องเพื่อโพสต์สิ่งนี้ใน แต่เดิม อย่างไรก็ตามแทนที่จะทำให้สิ่งนี้เป็นของเสียที่สมบูรณ์ฉันได้ทำคำถามใหม่เพื่อเป็นปัญหา "ทฤษฎีคอมพิวเตอร์ศาสตร์" ที่แท้จริง
ปัญหา: สร้างอัลกอริธึมที่ใช้ชุดของจุดสั่ง n ในระนาบ 2D ที่สร้างรูปร่างของรูปหลายเหลี่ยม A ที่อาจเป็นหรือไม่เป็นเว้าและอาจสร้างรูปหลายเหลี่ยม B ใหม่ด้วยจุด m ดังนี้:
- คะแนนทั้งหมดใน A อยู่ใน B
- 3 <= m <n
- B คือรูปหลายเหลี่ยมในชุดของ Bs ทั้งหมดที่มีพื้นที่เล็กที่สุด
- B ต้องเป็นรูปหลายเหลี่ยมแบบง่าย (เช่นไม่มีการตัดกันด้วยตนเอง)
- อินพุตไปยังอัลกอริทึมคือรูปหลายเหลี่ยม A และ "m"
- อนุญาตให้มีการแบ่งส่วนใน B โดยบังเอิญในกลุ่ม A
ตัวอย่างอินพุตและเอาต์พุตที่คาดหวัง:
- ถ้า A คือสี่เหลี่ยมจัตุรัสและ m คือ 3 ดังนั้น B จะเป็นสามเหลี่ยมที่มีพื้นที่ผิวที่เล็กที่สุดที่มี A
- ถ้า A คือหกเหลี่ยมและ m คือ 4 ดังนั้น B จะเป็นรูปสี่เหลี่ยมขนมเปียกปูนที่มีพื้นที่ผิวที่เล็กที่สุดที่มี A
โชคดีสำหรับทุกคนที่ลองใช้ปัญหานี้ ฉันสามารถสัญญากับคุณได้ว่าสิ่งนี้จะยากมากโดยเฉพาะตอนนี้ว่าวิธีแก้ปัญหาจะต้องเหมาะสมที่สุด