Coding_Gamesメモ_Lumen

javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:

System.err.println( );

を使うとデバックしやすくなる。(エラー出力は評価に影響しない)

内容

ロウソクに照らされた正方形の部屋の中で暗い場所を答える

ルール

Nメートルの正方形の部屋の中にLメートルの範囲を照らすことのできるロウソク(C)がある
部屋の中に暗い場所は何平方メートルあるか出力する

インプット

1行目 N 部屋の1辺の長さ
2行目 L ロウソクの明るさ
3行目から ロウソクの位置
X 何もない場所 ,
C ロウソク ,
各文字は半角スペースで区切られている

使用したクラス

StringBuilder (デバック出力用)

考え方
説明文の例にあるように、部屋の中の光の広がりをint配列で表して、0の数を数える。
周囲8マスに光を広げる処理は-1~1の範囲のforを2重に作り、y,x それぞれに足して、変化が無いものをスキップすることで表せる。
再帰関数として作ると光の強さに関係なく広げることができる。

Coding_Games:https://www.codingame.com/