งานของคุณคือการสร้างสตริงเป้าหมายที่กำหนด เริ่มต้นด้วยสตริงที่ว่างเปล่าคุณจะต้องเพิ่มตัวอักษรลงไปจนกว่าสตริงของคุณจะเหมือนกับที่เราต้องการ คุณสามารถเพิ่มอักขระที่ส่วนท้ายของสตริงด้วย cost x หรือคุณสามารถโคลนสตริงด้วย cost y สิ่งที่เราต้องการคือวิธีที่ถูกที่สุดในการทำสิ่งนี้
กรณีทดสอบ
targetString , appendcost, clonecost -> totalcost
"bb", 1, 2 -> 2
"bbbb", 2, 3 -> 7
"xzxpcxzxpy", 10, 11 -> 71
"abababab", 3, 5 -> 16
"abababab", 3, 11 -> 23
1
มีการกำหนดต้นทุนอย่างไร พวกเขาเป็นจำนวนเต็มบวกหรือไม่
—
Arnauld
ฉันคิดว่าคุณเพียงแค่ต้องการสร้างรหัสกอล์ฟ (รหัสที่สั้นที่สุด) ที่ท้าทายดังนั้นฉันจึงลบรหัสความท้าทายและแท็กปริศนาการเขียนโปรแกรมซึ่งระบุวิธีการให้คะแนนทางเลือก
—
xnor
ฉันคิดว่ามันจะช่วยให้มีกรณีทดสอบเพิ่มขึ้นเนื่องจากดูเหมือนว่ามีคนบางคนสามารถเขียนโปรแกรมที่มีฮิวริสติกที่ดีซึ่งเหมาะกับกรณีทดสอบทั้งหมด แต่ไม่ดีที่สุดโดยทั่วไป โดยเฉพาะอย่างยิ่งไม่มีกรณีทดสอบที่มีหลายโคลนหรือโคลนของสารตั้งต้นที่ไม่ได้เริ่มต้น ฉันคิดว่ามันจะเป็นการดีถ้ามีตัวอย่างที่การเปลี่ยนแปลงเพียงแค่ค่าใช้จ่ายจะเปลี่ยนผลลัพธ์
—
xnor
ความท้าทายแรกที่ดีโดยวิธี!
—
Erik the Outgolfer
การโคลนตัวอักษรตัวเดียวยังถือว่าเป็นการดำเนินการโคลนหรือไม่?
—
digEmAll