Santa necesita ayuda para determinar cuántos elfos necesitará para ayudarlo a entregar regalos a cada casa.
El carbón es considerablemente más pesado que los regalos, por lo que santa necesitará tres duendes por cada persona traviesa en la casa. Solo se necesitan dos duendes para ayudar a santa a llevar regalos.
En el mapa de santa, una casa está representada por a *
, y cada casa está dividida por a +
.
Habrá un número a cada lado de la casa: el de la izquierda que representa el número de personas traviesas en la casa y el de la derecha que representa el número de personas agradables en la casa. Si no hay un número en un lado, se interpreta como un 0.
Papá Noel no visita a aquellos que no están en el espíritu navideño (ni siquiera merecen carbón), por lo que a veces, una casa puede no tener un número a cada lado. En este caso, santa no necesita ayuda de ningún elfo
Por ejemplo, uno de los mapas de santa puede verse así
1*3+2*2+1*+*2
En la primera casa hay 1 travieso y 3 lindos, santa necesitará nueve elfos. En el segundo, hay 2 traviesos y 2 simpáticos, santa necesitará diez duendes. En la tercera casa hay 1 travieso y 0 simpático, santa necesitará tres duendes, y en la última casa hay 0 travieso y 2 simpáticos, santa necesitará cuatro duendes.
Sin embargo, esta es una versión demasiado simplificada de uno de los mapas de santa. Normalmente, los mapas de Papá Noel tienen varias líneas y tienen una forma cuadrada para ajustarse mejor a su lista. Un mapa normal podría verse más o menos así ( \n
a al final de cada línea)
1*2+*+*4+1*
2*4+3*+1*6+*
*+*+4*2+1*1
*4+*3+1*+2*3
3*10+2*+*5+*
En este mapa, santa necesita ((1 + 0 + 0 + 1 + 2 + 3 + 1 + 0 + 0 + 0 + 4 + 1 + 0 + 0 + 1 + 2 + 3 + 2 + 0 + 0) * 3) + ((2 + 0 + 4 + 0 + 4 + 0 + 6 + 0 + 0 + 0 + 2 + 1 + 4 + 3 + 0 + 3 + 10 + 0 + 5 + 0) * 2)
= 151 elfos
Reto
¡Ayuda a santa a determinar cuántos elfos necesita para entregar bienes a cada casa!
Casas
- Una casa está representada por un
*
- Las casas están divididas por
+
- El número a la izquierda de la casa simboliza el número de personas traviesas (ningún número significa 0)
- El número a la derecha simboliza el número de personas agradables (ningún número significa 0)
- Puede haber nuevas líneas (
\n
) en la entrada, que también se deben manejar como una división
Duendes
- Santa necesita ayuda de tres duendes para personas traviesas (el carbón es mucho más pesado que los regalos)
- Santa necesita ayuda de dos duendes para gente agradable
- Si no hay un número a cada lado, santa no visitará esa casa y, por lo tanto, no necesita ningún elfo
Qué hacer
Imprime el número de duendes que santa necesita para ayudarlo a entregar regalos a las casas. Debido a que todo lo que Santa necesita saber es cuántos elfos traer, solo necesita imprimir la cantidad adicional de elfos que necesita para la lista de casas
Casos de prueba
1*1 => 5
1*2 => 7
2*1 => 8
1* => 3
*1 => 2
* => 0
1*1+1*1 => 10
1*2+2*1 => 15
1*+*1 => 5
1*1+*+1*1 => 10
*+*+*+* => 0
Reglas
- La entrada puede tomarse como argumento en una función, o desde STDIN o equivalente
- La salida puede ser el valor de retorno de una función o imprimirse en STDOUT o equivalente
- La entrada sólo contendrá los números,
+
,*
, y saltos de línea\n
- La salida debería ser solo el número total de elfos de los que Santa necesita ayuda para entregar en Navidad
- Se aplican lagunas estándar
Tanteo
El trineo de Papá Noel está lleno de regalos que le dan menos espacio para ejecutar el código, por lo que necesita el código más corto que pueda obtener (no se preocupe si esto no tiene sentido. Si cuestiona la lógica de Papá Noel, terminará en la lista traviesa ) Debido al razonamiento CORRECTO de Santa , ¡el envío más corto en bytes gana!
Tabla de clasificación
Este es un fragmento de pila que genera una tabla de clasificación y una descripción general de los ganadores por idioma.
Para asegurarse de que su respuesta se muestre, comience con un título usando la siguiente plantilla de Markdown
## Language Name, N bytes
Donde N es el tamaño, en bytes, de su envío
Si desea incluir varios números en su encabezado (por ejemplo, tachar los puntajes antiguos o incluir marcas en el recuento de bytes), solo asegúrese de que el puntaje real sea el último número en su encabezado
## Language Name, <s>K</s> X + 2 = N bytes
hello-world.c
. Los elfos trabajadores se asignan ansiosamente a los objetivos como dijo Jojodmo (estoy seguro de que conozco a Jojodmo, debe ser nuestro sistema) y luego usan una devolución de llamada para notificar cuándo es el momento de reinsertarse en la piscina de trineos o cuando un niño los vio.
max(naughty) + max(nice)
elfos para toda la ruta? Pensé que tenía un montón de elfos volando con él, pero tal vez tengas información privilegiada sobre eso y necesito mirar más de cerca este año. :)