En lugar de ser un guerrero habilidoso capaz de matar Hydras (ver aquí y aquí ), esta vez eres un guerrero que no tiene conocimiento previo sobre cómo matar una o qué armas usar contra la criatura.
En este problema, cada vez que corte una sola cabeza, dos crecerán en el mismo lugar. Como no tiene el mecanismo para cortar muchas cabezas simultáneamente, la cantidad de cabezas solo crecerá. En este caso, nuestra Hydra puede comenzar con N(N ⩾ 1) cabezas. Llamemos al primer encuentro una generación y representaremos las cabezas de la primera generación como 0 , las cabezas creadas después del primer golpe como 1 , y así sucesivamente.
Entrada
Se le dará un número entero que Nrepresenta cuántas cabezas tiene inicialmente la Hydra y una lista de tamaños que Ncontiene en qué índice (en los ejemplos usaré el formato indexado 0) cortará una cabeza. Siempre puede suponer que los índices dados son válidos; recuerde que la lista (es decir, las cabezas) crecerá a medida que corta las cabezas.
Ejemplo
Entrada : N = 4y[0,4,2,5]
Generación 0 - Índice de ataque 0
0 0 0 0 => 1 1 0 0 0
^ ^ ^
Generación 1 - Índice de ataque 4
1 1 0 0 0 => 1 1 0 0 2 2
^ ^ ^
Generación 2 - Índice de ataque 2
1 1 0 0 2 2 => 1 1 3 3 0 2 2
^ ^ ^
Generación 3 - Índice de ataque 5
1 1 3 3 0 2 2 => 1 1 3 3 0 4 4 2
^ ^ ^
Última generación
1 1 3 3 0 4 4 2
Como puede ver, los índices dados están relacionados con la lista de la generación anterior.
Salida
Se requiere que envíe la última generación.
Casos de prueba
N = 1 and [0] => [1,1]
N = 2 and [0,0] => [2,2,1,0]
N = 2 and [0,1] => [1,2,2,0]
N = 2 and [1,0] => [2,2,1,1]
N = 2 and [1,1] => [0,2,2,1]
N = 4 and [0,4,2,5] => [1,1,3,3,0,4,4,2]
N = 6 and [0,0,0,0,0,0] => [6, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0]
N = 6 and [5,6,7,8,9,10] => [0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 6]
N = 10 and [1,7,3,12,9,0,15,2,2,10] => [6, 6, 9, 9, 8, 1, 3, 3, 0, 0, 10, 10, 2, 5, 5, 0, 0, 4, 7, 7]
Este es el código de golf, ¡la respuesta más corta en bytes gana!
N(...) y una lista de tamañosN (pero también me perdí esa parte la primera vez que leí el desafío.) Por lo tanto, Nes simplemente inútil.
Nde la entrada, ya que se da "implícitamente" como el tamaño de la matriz. Sin embargo, pensé que las soluciones ahorrarían bytes al dar en Nlugar de depender de ellos array.size()o similar.