La innovación es un juego de cartas en el que los jugadores luchan a través de las edades, desde la prehistoria hasta los tiempos modernos, en un intento de obtener logros más rápido que sus oponentes.
Cada carta en Innovación es única y proporciona al jugador una serie de iconos. Si tratamos cada tarjeta como una cuadrícula de 2x3, entonces tres de las cuatro ranuras en los bordes izquierdo e inferior siempre estarán ocupadas por iconos (los símbolos en hexágonos negros no se cuentan).
El juego tiene 6 tipos de íconos (castillos, coronas, hojas, bombillas, fábricas y relojes), que representaremos arbitrariamente usando los caracteres 012345
. Usando #
para representar el hexágono negro, podemos usar cuatro caracteres para representar los iconos en cada tarjeta. Por ejemplo, las cartas de arriba son
0.. #.. 3.. 1.. -> 03#0 #331 355# 144#
3#0 331 55# 44#
Ahora, en Innovación, las cartas en el área de juego se agrupan en pilas * que se dividen en una de cuatro formas. Para cada ejemplo, usaremos las cartas de arriba, suponiendo que la carta más a la izquierda 03#0
esté en la parte superior de la pila.
Sin separación: solo se ve la carta superior
0..
3#0
Separar a la izquierda : la carta superior es totalmente visible, así como el tercio derecho de todas las cartas de abajo
0..|.|.|.|
3#0|1|#|#|
Separar a la derecha : la carta superior es totalmente visible, así como el tercio izquierdo de todas las cartas de abajo
1|3|#|0..
4|5|3|3#0
Separar : la carta superior es totalmente visible, así como la mitad inferior de todas las cartas de abajo.
0..
3#0
---
331
---
55#
---
44#
El reto
La entrada será una sola cadena separada por espacios que consta de dos partes:
- Una dirección de separación, que es una
!<>^
, que no representa separación, separación hacia la izquierda, separación hacia la derecha o hacia arriba, respectivamente. - Una lista de tarjetas no vacía, cada una de las cuales tiene 4 caracteres y consta de los caracteres
012345#
. La carta más a la izquierda está en la parte superior de la pila, y cada carta contiene exactamente una#
.
Las respuestas pueden ser funciones, programas completos o equivalentes . Puede elegir si la dirección de la separación es la primera o la última, es decir, elegir uno de los dos formatos a continuación:
> 03#0 #331 355# 144#
03#0 #331 355# 144# >
La salida será una lista de seis números que representan el recuento de cada icono, por ejemplo, para las tarjetas de ejemplo anteriores:
! 03#0 #331 355# 144# -> 2 0 0 1 0 0
< 03#0 #331 355# 144# -> 2 1 0 1 0 0
> 03#0 #331 355# 144# -> 2 1 0 3 1 1
^ 03#0 #331 355# 144# -> 2 1 0 3 2 2
Por ejemplo, el caso sin pantalla tenía dos 0
íconos y un 3
ícono mostrando, dando la primera línea. Tenga en cuenta que no contamos #
s, ya que los hexágonos negros no son iconos.
Puede elegir cualquier forma razonable y no ambigua de representar la lista, por ejemplo, separada por delimitadores o utilizando la representación de la lista natural de su idioma.
Casos de prueba
! 113# -> 0 2 0 1 0 0
< 113# -> 0 2 0 1 0 0
> 113# -> 0 2 0 1 0 0
^ 113# -> 0 2 0 1 0 0
! 000# 12#2 -> 3 0 0 0 0 0
< 000# 12#2 -> 3 0 1 0 0 0
> 000# 12#2 -> 3 1 1 0 0 0
^ 000# 12#2 -> 3 0 2 0 0 0
! 000# 111# 222# -> 3 0 0 0 0 0
< 000# 111# 222# -> 3 0 0 0 0 0
> 000# 111# 222# -> 3 2 2 0 0 0
^ 000# 111# 222# -> 3 2 2 0 0 0
! 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 0 0 0 2 0 1
< 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 1 1 2 5 1 1
> 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 0 3 3 7 1 1
^ 335# #101 21#2 333# 2#20 3#33 4#54 #133 3#33 32#2 -> 2 4 4 10 1 2
Tenga en cuenta que algo como esto !
es una entrada no válida, ya que la lista está garantizada como no vacía.
* Para los propósitos de este desafío, estamos ignorando los colores de la pila.
fuente