前書き:
タスクの前に、すべての要素がマップ上で行うことを以下に示します。
平地(X
):これは何もしません。
破壊された土地(-
):これは平地と同じですが、爆弾によって破壊されました。
アクティブな爆弾(!
):マップ上で、これは3x3の正方形のすべてを破壊します。
XXXXX XXXXX
XXXXX X---X
XX!XX > will become > X---X
XXXXX X---X
XXXXX XXXXX
受動爆弾(@
):別の爆弾で爆発するまで何もしません。これには、3x3の正方形の爆発半径もあります。
XXXXX XXXXX
XXXXX XXXXX
XX@XX > will become > XX@XX (nothing happened)
XXXXX XXXXX
XXXXX XXXXX
しかし:
XXXXX XXXXX
XXXXX X---X
XX@XX > will become > ----X (both bombs have exploded)
X!XXX ----X
XXXXX ---XX
核(~
):別の爆弾で爆発するまで何もしません。違いは、この爆弾の爆発範囲は5x5の正方形であるということです。
XXXXX XXXXX
XXXXX XXXXX
XX~XX > will become > XX~XX (nothing happened)
XXXXX XXXXX
XXXXX XXXXX
しかし:
XXXXX -----
XXXXX -----
XX~XX > will become > ----- (both bombs have exploded)
X!XXX -----
XXXXX -----
タスク
- 与えられた9x9のマップ、出力マップ後の連鎖反応。
- 機能またはプログラムを提供できます。
- これはcode-golfであるため、バイト数が最小の提出が勝ちです!
テストケース
テストケース1(3ステップ):
XXXXXXXXX XXXXXXXXX
----XXXXX ----XXXXX
XXXX@XXXX XXXX@XXXX
XXXXXXXX- XXX---XX-
XXXX@XXXX > ------XXX
XXXXXXXX- ------XX-
XX~XXXXXX -----XXXX
X!XXXXXX- -----XXX-
XXXXXXXXX -----XXXX
テストケース2(2ステップ):
XXXXXXXXX XXXXXXXXX
XXXXXXXXX XXXXXXXXX
XX~XXXXXX XX~XXXXXX
--------- ---------
XXXX!XXXX > XXX---XXX
XXXXXXXXX XXX------
XXX@@X@!X XXX@@----
XXXXXXXXX XXXXX----
XXXXXXXXX XXXXXXXXX
テストケース3(2ステップ):
XXXXXXXXX XXXXXXXXX
XXXXXXXXX XXXXXXXXX
XX~XXXXXX XX~XXXXXX
XXXXXXXXX XXX---XXX
XXXX!XXXX > XXX---XXX
XXXXXXXXX XXX------
XXX@@X@!X XXX@@----
XXXXXXXXX XXXXX----
XXXXXXXXX XXXXXXXXX
テストケース4(1ステップ):
XXXXXXXXX XXXXXXXXX
XXXX-XXXX XXXX-XXXX
XXXXXXXXX XXX---XXX
XX-X!X-XX XX-----XX
XXXXXXXXX > XXX---XXX
XX-----XX XX-----XX
XXXX-XXXX XXXX-XXXX
XXXXXXXXX XXXXXXXXX
XXXXXXXXX XXXXXXXXX
テストケース5(9ステップ):
!XXXXXXXX ---XXXXXX
X@XXXXXXX ----XXXXX
XX@XXXXXX -----XXXX
XXX@XXXXX X-----XXX
XXXX@XXXX > XX-----XX
XXXXX@XXX XXX-----X
XXXXXX@XX XXXX-----
XXXXXXX@X XXXXX----
XXXXXXXX@ XXXXXX---
テストケース6(9ステップ):
XX@@@XXXX ------XXX
XXXXXXXXX ------XXX
~XXXXXXXX ---XXXXXX
XXXXXXXXX ---XXXXXX
~XXXXXXXX > ---XXXXXX
XXXXXXXXX ---XXXXXX
~XXXXXXXX ---XXXXXX
@XXXXXXXX ---XXXXXX
!XXXXXXXX ---XXXXXX
テストケース7(3ステップ):
!XXXXXXXX ---XXXXXX
X@XXXXXXX ----XXXXX
XX@XXXXXX ----XXXXX
XXXXXXXXX X---X----
XXXXXX@@! > XXXXX----
XXXXXXXXX X---X----
XX@XXXXXX ----XXXXX
X@XXXXXXX ----XXXXX
!XXXXXXXX ---XXXXXX