Infelizmente, o Papai Noel não foi capaz de pegar os elfos a tempo! Ele tem que voltar a fabricar presentes agora. Como os elfos definitivamente não são escravos do Papai Noel, ele tem que descobrir as despesas de quanto pagá-los.
Desafio
Dadas algumas informações para os presentes, determine o custo de fabricação de todos eles.
Cada presente é colocado em uma caixa de papelão e embrulhado com papel de embrulho, com uma fita enrolada no final. O papel de embrulho é mágico e não requer sobreposição; portanto, a quantidade de papel de embrulho usada é precisamente equivalente à área da superfície da caixa. Todos os presentes são prismas retangulares, porque dessa maneira o Papai Noel pode armazená-los de forma mais compacta. A fita gira nas três direções (portanto, o comprimento da fita usada para a embalagem é igual à soma dos três perímetros diferentes).
O presente em si tem um custo conhecido, felizmente. O papelão custa US $ 1 por metro quadrado e o papel de embrulho custa US $ 2 por metro quadrado. (Dica: você pode multiplicar a área da superfície por 3: P). A fita custa US $ 1 por metro.
Especificações de formato
A entrada será fornecida como uma lista de presentes, onde cada presente contém o custo do item real e as três dimensões da caixa atual. Sua saída deve ser o custo total necessário.
Para ser exacto, a fórmula para o custo de um único presente com custo do artigo c
e as dimensões x
, y
e z
éc + 6 * (x * y + y * z + z * x) + 4 * (x + y + z)
.
Casos de teste
[[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
Regras
- As brechas padrão se aplicam
- A entrada e saída podem ser fornecidas e apresentadas em qualquer formato razoável
- Você deve considerar a entrada como uma lista de presentes, e não 4 listas dos atributos.
- Este é um código de golfe , então a resposta mais curta em bytes vence
- Nenhuma resposta será aceita
Espero que este desafio seja mais fácil do que os anteriores: P
Nota: Eu me inspirei para esta série de desafios da Advent Of Code . Não tenho afiliação com este site
Você pode ver uma lista de todos os desafios da série consultando a seção 'Vinculado' do primeiro desafio aqui .
fonte
c + 6 * (x * y + y * z + z * x) + 4 * (x + y + z)
Respostas:
JavaScript (ES6), 58 bytes
Casos de teste
Mostrar snippet de código
Como?
O único truque usado aqui é fatorar (xy + xz) como x (y + z) e reutilizar a soma (y + z) na última parte da fórmula.
fonte
Mathematica, 34 bytes
-10 bytes de @alephalpha
Experimente online!
fonte
Tr[#+6#2(+##3)+6##3+4(+##2)&@@@#]&
Gelatina , 25 bytes
Experimente online!
fonte
Python 3 , 56 bytes
Experimente online!
fonte
C (gcc) ,
1041009993 bytesquatrocincoonze bytes graças ao PrincePolka .Experimente online!
Leva uma lista de atributos presentes (comprimento da lista divisível por quatro) e um número inteiro especificando o número de presentes. Retorna o custo de fabricação de todos os presentes.
fonte
j=t=0
precisa permanecer. Não consegui descobrir como reorganizar o cálculo para salvar um byte; ajudaria se você vinculasse a uma versão completa do código com seu golfe implementado.05AB1E , 17 bytes
Experimente online!
Explicação
fonte
Pitão , 39 bytes
Experimente online!
Recebe a entrada como uma representação de sequência de uma lista aninhada e soma a fórmula de custo.
fonte
Limpo , 64 bytes
Experimente online!
fonte
Excel, 60 bytes
Entrada retirada de Colunas
A
paraD
, nova linha por presente. Fórmula em qualquer outra coluna.fonte
))