Tugas Anda adalah membuat string target yang diberikan. Dimulai dengan string yang kosong, Anda harus menambahkan karakter ke sana, hingga string Anda sama dengan yang kita inginkan. Anda dapat menambahkan karakter ke string Anda dengan biaya x, atau Anda dapat mengkloning string Anda dengan biaya y. Apa yang kita inginkan adalah cara termurah untuk melakukan ini.
Uji Kasus
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
Bagaimana biaya didefinisikan? Apakah bilangan bulat positif?
—
Arnauld
Saya pikir Anda hanya ingin membuat tantangan kode golf (kode terpendek), jadi saya menghapus tantangan kode dan tag teka-teki pemrograman yang menunjukkan beberapa cara penilaian alternatif.
—
xnor
Saya pikir itu akan membantu untuk memiliki lebih banyak kasus uji, karena sepertinya seseorang dapat menulis sebuah program yang memiliki heuristik yang bagus yang bekerja untuk semua kasus uji tetapi secara umum tidak optimal. Secara khusus, tidak ada kasus uji yang memiliki banyak klon, atau klon substring yang tidak di awal. Saya pikir itu juga akan baik untuk memiliki contoh di mana hanya mengubah biaya mengubah output.
—
xnor
Ngomong-ngomong, tantangan pertama yang bagus!
—
Erik the Outgolfer
Apakah mengkloning satu huruf masih dianggap sebagai operasi klon?
—
digEmAll