L'innovazione è un gioco di carte in cui i giocatori combattono attraverso i secoli, dalla preistoria ai tempi moderni, nel tentativo di ottenere risultati più velocemente dei loro avversari.
Ogni carta in Innovation è unica e fornisce al giocatore un numero di icone. Se trattiamo ogni carta come una griglia 2x3, allora tre delle quattro fessure sui bordi sinistro e inferiore saranno sempre occupate da icone (i simboli negli esagoni neri non vengono conteggiati).
Il gioco ha 6 tipi di icone (castelli, corone, foglie, lampadine, fabbriche e orologi), che rappresenteremo arbitrariamente usando i caratteri 012345
. Usando #
per rappresentare l'esagono nero, possiamo usare quattro caratteri per rappresentare le icone su ogni carta. Ad esempio, le carte sopra sono
0.. #.. 3.. 1.. -> 03#0 #331 355# 144#
3#0 331 55# 44#
Ora, in Innovation, le carte nell'area di gioco sono raggruppate in pile * che sono divise in quattro modi. Per ogni esempio useremo le carte sopra, assumendo la carta più a sinistra 03#0
, è in cima al mazzo.
Nessuna azione: è visibile solo la carta in alto
0..
3#0
Splay a sinistra : la carta in alto è completamente visibile, così come il terzo di destra di tutte le carte in basso
0..|.|.|.|
3#0|1|#|#|
Splay a destra : la carta in alto è completamente visibile, così come il terzo sinistro di tutte le carte in basso
1|3|#|0..
4|5|3|3#0
Splay up : la carta in alto è completamente visibile, così come la metà inferiore di tutte le carte in basso.
0..
3#0
---
331
---
55#
---
44#
La sfida
L'input sarà una singola stringa separata da spazio composta da due parti:
- Una direzione di splay, che è una delle due
!<>^
, che rappresenta rispettivamente nessuna splay, splay a sinistra, splay a destra o in alto. - Un elenco di carte non vuoto, ognuna delle quali è lunga 4 caratteri e composta dai caratteri
012345#
. La carta più a sinistra si trova nella parte superiore del mazzo e ogni carta ne contiene esattamente una#
.
Le risposte possono essere funzioni, programmi completi o equivalenti . Puoi scegliere se la direzione dello splay è la prima o l'ultima, ovvero scegli uno dei due formati seguenti:
> 03#0 #331 355# 144#
03#0 #331 355# 144# >
L'output sarà un elenco di sei numeri che rappresentano il conteggio per ciascuna icona, ad esempio per le carte di esempio sopra:
! 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
Ad esempio, il caso no splay aveva due 0
icone e 3
un'icona che mostrava la prima riga. Nota che non contiamo #
s, poiché gli esagoni neri non sono icone.
Puoi scegliere qualsiasi modo ragionevole e non ambiguo di rappresentare l'elenco, ad es. Separato da delimitatori o utilizzando la rappresentazione dell'elenco naturale della tua lingua.
Casi test
! 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
Si noti che qualcosa di simile !
non è un input valido, poiché l'elenco è garantito non vuoto.
* Ai fini di questa sfida, ignoriamo i colori delle pile.