ダンスフロア

ビバ子は,ダンスフロアのオーナーに依頼されて,16行31列の区域からなる大きなダンスフロアの各区域に白のタイルか黒のタイルを敷くことになりました.

ビバ子は,ある「ルール」に基づいてパターンを生成するプログラムを作ることにしました.次は「ルール」の例です:

rules1

この「ルール」は,ある区域にタイルを敷くとき,その区域の左上・真上・右上の3つの区域に敷かれたタイルの色から,敷くタイルの色を定めます.

左右の端の区域にタイルを敷く際は,ダンスフロアの外は白のタイルが敷かれていると仮定してこの「ルール」を適用します.

ビバ子は,まず,一番上の行に,真ん中の区域だけ黒のタイルを敷き,それ以外の区域には白のタイルを敷き,それから「ルール」に従って上の行から順にタイルを敷いていくことにしました.

上の「ルール」の例に従うと下のようなパターンになります:

result 1

残念なことに,このパターンはダンスフロアのオーナーには気に入ってもらえませんでした.
オーナーは,一番下の行は下の図のように左右の端は黒でその間は白と黒が交互に現れることを望んでいます

target

問題

オーナーの希望をかなえるように「ルール」を作ってください.
左上・真上・右上のパターンの下の区域をクリックすることで,ルールを指定できます.クリックをすると,すぐにそのルールが適用されます.
「一番上の行に,真ん中の区域だけ黒のタイルを敷き,それ以外の区域には白のタイルを敷いた状態」から始めることを思い出してください.