¡Desafortunadamente, Santa no pudo atrapar a los elfos a tiempo! Tiene que volver a fabricar regalos ahora. Dado que los elfos definitivamente no son esclavos de Santa, tiene que calcular los gastos de cuánto pagarles.
Desafío
Dada alguna información para los regalos, determine el costo de fabricación de todos ellos.
Cada regalo se coloca en una caja de cartón y se envuelve con papel de regalo, con una cinta envuelta al final. El papel de regalo es mágico y no requiere superposición, por lo que la cantidad de papel de regalo utilizada es exactamente equivalente al área de superficie de la caja. Todos los regalos son prismas rectangulares porque de esa manera Santa puede almacenarlos de manera más compacta. La cinta gira en las tres direcciones (por lo que la longitud de la cinta utilizada para envolver es igual a la suma de los tres perímetros diferentes).
El presente en sí tiene un costo conocido, afortunadamente. El cartón cuesta $ 1 por metro cuadrado y el papel de regalo cuesta $ 2 por metro cuadrado. (Sugerencia: puede multiplicar el área de la superficie por 3: P). La cinta cuesta $ 1 por metro.
Especificaciones de formato
La entrada se dará como una lista de regalos donde cada regalo contiene el costo del artículo real y las tres dimensiones de la caja de regalo. Su salida debe ser el costo total requerido.
Para ser exactos, la fórmula para el costo de un solo presente con costo del artículo c
y dimensiones x
, y
y z
es c + 6 * (x * y + y * z + z * x) + 4 * (x + y + z)
.
Casos de prueba
[[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
Reglas
- Se aplican lagunas estándar
- La entrada y la salida pueden darse y presentarse en cualquier formato razonable
- Debe tomar la entrada como una lista de regalos, no 4 listas de los atributos.
- Este es un código de golf , por lo que gana la respuesta más corta en bytes
- No se aceptarán respuestas.
Esperemos que este desafío sea más fácil que los anteriores: P
Nota: Me inspiré para esta serie de desafíos de Advent Of Code . No estoy afiliado a este sitio
Puede ver una lista de todos los desafíos de la serie mirando la sección 'Vinculados' del primer desafío aquí .
fuente
c + 6 * (x * y + y * z + z * x) + 4 * (x + y + z)
Respuestas:
JavaScript (ES6), 58 bytes
Casos de prueba
Mostrar fragmento de código
¿Cómo?
El único truco utilizado aquí es factorizar (xy + xz) como x (y + z) y reutilizar la suma (y + z) en la última parte de la fórmula.
fuente
Mathematica, 34 bytes
-10 bytes de @alephalpha
Pruébalo en línea!
fuente
Tr[#+6#2(+##3)+6##3+4(+##2)&@@@#]&
Jalea , 25 bytes
Pruébalo en línea!
fuente
Python 3 , 56 bytes
Pruébalo en línea!
fuente
C (gcc) ,
1041009993 bytescuatrocincoonce bytes gracias a PrincePolka .Pruébalo en línea!
Toma una lista de atributos presentes (longitud de la lista divisible por cuatro) y un número entero que especifica el número de regalos. Devuelve el costo de fabricación de todos los regalos.
fuente
j=t=0
debe permanecer. No pude entender cómo reorganizar el cálculo para guardar un byte; Sería útil si se vincula a una versión completa del código con su golf implementado.05AB1E , 17 bytes
Pruébalo en línea!
Explicación
fuente
Pyth , 39 bytes
Pruébalo en línea!
Toma datos como una representación de cadena de una lista anidada y suma la fórmula de costo.
fuente
Limpio , 64 bytes
Pruébalo en línea!
fuente
Excel, 60 bytes
Entrada tomada de columnas
A
aD
, nueva fila por presente. Fórmula en cualquier otra columna.fuente
))