Innowacja to gra karciana, w której gracze walczą przez wieki, od prehistorii po współczesność, starając się zdobywać osiągnięcia szybciej niż ich przeciwnicy.
Każda karta w Innowacji jest unikalna i zapewnia graczowi kilka ikon. Jeśli traktujemy każdą kartę jako siatkę 2x3, wówczas trzy z czterech miejsc na lewej i dolnej krawędzi zawsze będą zajmowane przez ikony (symbole w czarnych sześciokątach nie są liczone).
Gra ma 6 rodzajów ikon (zamki, korony, liście, żarówki, fabryki i zegary), które będziemy reprezentować dowolnie za pomocą znaków 012345
. Używając #
do przedstawienia czarnego sześciokąta, możemy użyć czterech znaków do reprezentowania ikon na każdej karcie. Na przykład powyższe karty to
0.. #.. 3.. 1.. -> 03#0 #331 355# 144#
3#0 331 55# 44#
Teraz w Innowacjach karty w obszarze gry są pogrupowane w stosy *, które są rozłożone na jeden z czterech sposobów. Dla każdego przykładu użyjemy powyższych kart, zakładając, że karta znajdująca się najbardziej na lewo 03#0
, znajduje się na górze stosu.
Bez gry: widoczna jest tylko górna karta
0..
3#0
Rozgrywka po lewej : górna karta jest w pełni widoczna, podobnie jak prawa trzecia karta poniżej
0..|.|.|.|
3#0|1|#|#|
Rozegraj w prawo : górna karta jest w pełni widoczna, a także lewa jedna trzecia wszystkich kart poniżej
1|3|#|0..
4|5|3|3#0
Rozgrywka : górna karta jest w pełni widoczna, a także dolna połowa wszystkich kart poniżej.
0..
3#0
---
331
---
55#
---
44#
Wyzwanie
Dane wejściowe będą ciągiem znaków oddzielonym spacją, składającym się z dwóch części:
- Kierunek rozstawiania, który jest jednym z
!<>^
, nie reprezentuje odpowiednio rozstawu, rozstawu w lewo, rozstawu w prawo lub rozstawieniu odpowiednio. - Niepusta lista kart, z których każda ma 4 znaki i składa się z znaków
012345#
. Karta najbardziej na lewo znajduje się na górze stosu, a każda karta zawiera dokładnie jedną#
.
Odpowiedzi mogą być funkcjami, pełnymi programami lub równoważnymi . Możesz wybrać, czy kierunek wyświetlania będzie pierwszy, czy ostatni, tj. Wybierz jeden z dwóch poniższych formatów:
> 03#0 #331 355# 144#
03#0 #331 355# 144# >
Wyjście będzie listą sześciu liczb reprezentujących liczbę dla każdej ikony, np. Dla przykładowych kart powyżej:
! 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
Na przykład, skrzynka no splay miała dwie 0
ikony i jedną 3
ikonę pokazującą pierwszą linię. Zauważ, że nie liczymy #
s, ponieważ czarne sześciokąty nie są ikonami.
Możesz wybrać dowolny rozsądny i niejednoznaczny sposób reprezentowania listy, np. Oddzielony separatorem lub używając naturalnej reprezentacji listy w twoim języku.
Przypadki testowe
! 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
Zauważ, że coś w rodzaju !
jest nieprawidłowym wejściem, ponieważ na pewno lista jest niepusta.
* Na potrzeby tego wyzwania ignorujemy kolory stosów.
źródło