Dengan serangkaian item, masing-masing dengan bobot dan nilai, tentukan jumlah masing-masing item yang akan dimasukkan ke dalam koleksi sehingga total berat kurang dari atau sama dengan batas yang diberikan dan nilai total adalah sebesar mungkin.
Wikipedia untuk informasi lebih lanjut
Misalnya Anda dapat diberi bobot maksimal 15 dan objek dengan nilai / massa sebagai [5,2], [7,4] [1,1]
dan Anda akan menghasilkan [7,0,1]
7 [5 <value>, 2 <mass>]
objek dan 1 [1 <value>, 1 <mass>]
objek dengan skor 36.
Aturan
Masukan dapat diambil dalam format apa pun yang masuk akal
Output juga format yang fleksibel,
Anda tidak boleh menggunakan perpustakaan yang tidak standar. Jika Anda harus menginstal atau mengunduh pustaka apa saja untuk menggunakannya secara terpisah dari pengaturan awal maka itu tidak diperbolehkan
Objek mungkin memiliki massa dan nilai negatif (yaitu -1, -1)
Diperlukan jawaban optimal
Kemenangan
Kode terpendek menang
Massa dan nilai negatif?
Ini adalah bagian penting dari tantangan ini. Katakanlah Anda memiliki objek dengan item (massa, nilai) seperti [4,3],[-1,-1]
dan tas dengan kapasitas 15. Anda dapat menempatkan 3 dari yang pertama dan skor 9 atau menempatkan 4 dari yang pertama dan salah satu dari -1, -1 objek untuk skor 11.
sumber
Jawaban:
Pyth, 18 byte
Output sebagai daftar pasangan [nilai, berat]. Horrendously tidak efisien, tetapi adalah NP-lengkap.
Coba di sini
Penjelasan
sumber