Sayangnya, Santa tidak dapat menangkap peri tepat waktu! Dia harus kembali ke hadiah manufaktur sekarang. Karena para elf jelas-jelas bukan budak Santa, dia harus mencari tahu berapa banyak untuk membayar mereka.
Tantangan
Diberikan beberapa informasi untuk hadiah, tentukan biaya pembuatan semuanya.
Setiap hadiah dimasukkan ke dalam kotak kardus dan dibungkus dengan kertas kado, dengan pita yang melilit di bagian paling akhir. Kertas pembungkus ajaib dan tidak membutuhkan tumpang tindih, sehingga jumlah kertas pembungkus yang digunakan tepat setara dengan luas permukaan kotak. Semua hadiah adalah prisma segi empat karena dengan cara itu Santa dapat menyimpannya dengan lebih kompak. Pita itu berputar di ketiga arah (sehingga panjang pita yang digunakan untuk pembungkus sama dengan jumlah dari tiga perimeter yang berbeda).
Untungnya, hadiah itu sendiri dikenal mahal. Kardus berharga $ 1 per meter persegi, dan kertas kado berharga $ 2 per meter persegi. (Petunjuk: Anda bisa mengalikan luas permukaan dengan 3: P). Pita harganya $ 1 per meter.
Spesifikasi Format
Input akan diberikan sebagai daftar hadiah di mana setiap hadiah berisi biaya item aktual dan tiga dimensi dari kotak ini. Output Anda harus menjadi total biaya yang diperlukan.
Tepatnya, rumus untuk biaya hadiah tunggal dengan item biaya c
dan dimensi x
, y
, dan z
adalah c + 6 * (x * y + y * z + z * x) + 4 * (x + y + z)
.
Uji Kasus
[[7, 8, 6, 7], [7, 7, 5, 5], [8, 9, 6, 7], [6, 5, 10, 10], [5, 9, 6, 7], [9, 9, 10, 6], [8, 10, 10, 6], [6, 5, 7, 9], [7, 10, 8, 8], [5, 9, 9, 10]] -> 11866
[[5, 10, 8, 9], [8, 8, 5, 8], [8, 7, 7, 6], [5, 9, 9, 10], [9, 7, 5, 8], [9, 8, 9, 5], [7, 5, 6, 7], [5, 7, 6, 10]] -> 8854
[[9, 8, 8, 8], [10, 9, 8, 5], [10, 7, 5, 5], [10, 10, 6, 6], [8, 5, 8, 7]] -> 4853
[[7, 7, 8, 10], [8, 10, 7, 8], [9, 7, 7, 8], [8, 5, 10, 5], [6, 6, 6, 8], [8, 9, 7, 5], [8, 5, 6, 5], [7, 9, 8, 5], [10, 10, 10, 8]] -> 9717
[[5, 8, 9, 7], [5, 8, 7, 10], [5, 7, 7, 6], [5, 5, 5, 6], [9, 9, 5, 7], [5, 6, 7, 8], [8, 5, 8, 7], [6, 9, 5, 5], [10, 10, 9, 10]] -> 9418
[[9, 9, 7, 10], [5, 8, 7, 9], [5, 5, 9, 8], [10, 5, 9, 10], [8, 5, 10, 7], [8, 9, 5, 5], [5, 10, 6, 10]] -> 8178
[[5, 9, 5, 8], [7, 8, 10, 6], [7, 10, 7, 10], [8, 9, 7, 5], [5, 7, 8, 6], [9, 9, 6, 10], [6, 5, 9, 9], [7, 9, 9, 9]] -> 9766
[[7, 10, 5, 10], [8, 10, 8, 9], [8, 6, 7, 8], [6, 9, 8, 5], [6, 7, 10, 9], [7, 6, 5, 8]] -> 7118
[[10, 6, 7, 5], [5, 9, 5, 9], [9, 7, 8, 5], [6, 6, 9, 9], [9, 9, 6, 9], [10, 5, 8, 9], [7, 5, 6, 10], [9, 10, 5, 5]] -> 8007
[[8, 10, 7, 8], [9, 10, 5, 8], [6, 7, 5, 6], [10, 10, 9, 8], [7, 5, 8, 9], [10, 10, 6, 7], [10, 8, 9, 10], [5, 10, 5, 5]] -> 9331
Aturan
- Celah Standar Berlaku
- Input dan output dapat diberikan dan disajikan dalam format apa pun yang wajar
- Anda harus mengambil input sebagai daftar hadiah, bukan 4 daftar atribut.
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang
- Tidak ada jawaban yang akan diterima
Semoga tantangan ini lebih mudah dari yang sebelumnya: P
Catatan: Saya mendapat inspirasi untuk seri tantangan ini dari Advent Of Code . Saya tidak memiliki afiliasi dengan situs ini
Anda dapat melihat daftar semua tantangan dalam seri ini dengan melihat bagian 'Tertaut' dari tantangan pertama di sini .
c + 6 * (x * y + y * z + z * x) + 4 * (x + y + z)