イノベーションとは、プレイヤーが先史時代から現代まで時代を超えて戦い、対戦相手よりも早く成果を上げようとするカードゲームです。
イノベーションの各カードはユニークであり、プレーヤーに多くのアイコンを提供します。各カードを2x3グリッドとして扱う場合、左端と下端の4つのスロットのうち3つは常にアイコンで占められます(黒い六角形のシンボルはカウントされません)。
ゲームには6種類のアイコン(城、王冠、葉、電球、工場、時計)があり、それらをcharsを使用して任意に表し012345
ます。使用して#
黒の六角形を表現するために、我々は、各カード上のアイコンを表すために4つの文字を使用することができます。たとえば、上記のカードは
0.. #.. 3.. 1.. -> 03#0 #331 355# 144#
3#0 331 55# 44#
現在、Innovationでは、プレイエリアのカードはパイル*にグループ化され、4つの方法のいずれかで展開されます。各例では、左端のカード03#0
が山の一番上にあると仮定して、上のカードを使用します。
表示なし:一番上のカードのみが表示されます
0..
3#0
左にスプレイ:一番上のカードが完全に表示され、下のすべてのカードの右3分の1も表示されます。
0..|.|.|.|
3#0|1|#|#|
右に表示:一番上のカードが完全に表示され、下のすべてのカードの左3分の1も表示されます
1|3|#|0..
4|5|3|3#0
スプレイアップ:一番上のカードが完全に表示され、下のすべてのカードの下半分が表示されます。
0..
3#0
---
331
---
55#
---
44#
チャレンジ
入力は、2つの部分で構成されるスペースで区切られた単一の文字列になります。
- スプレイ方向。これは
!<>^
、スプレイなし、左スプレイ、右スプレイ、または上スプレイをそれぞれ表すの1つです。 - 空ではないカードのリスト。各カードは4文字の長さで、charsで構成されてい
012345#
ます。左端のカードは山の一番上にあり、各カードには1枚だけが含まれています#
。
回答は、関数、完全なプログラム、または同等のものです。スプレイの方向が最初か最後かを選択できます。つまり、以下の2つの形式のいずれかを選択できます。
> 03#0 #331 355# 144#
03#0 #331 355# 144# >
出力は、各アイコンの数を表す6つの数字のリストになります(例:上記のカードの例)。
! 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
たとえば、ノースプレイケースには2つの0
アイコンと1つの3
アイコンが表示され、最初の行が表示されます。#
黒い六角形はアイコンではないため、をカウントしないことに注意してください。
リストを表現する合理的で曖昧さのない方法を選択できます。たとえば、区切り文字で区切ったり、言語の自然なリスト表現を使用したりできます。
テストケース
! 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
!
リストは空でないことが保証されているため、次のようなものは無効な入力であることに注意してください。
*この課題のために、パイルの色は無視しています。