問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
p を置いたとき、指定方向 (dr, dc) で相手石をはさんで反転できる座標を列挙します。はさめない場合は該当なしです。手番 p が与えられます。指定方向において挟んで反転する相手石の座標をすべて出力してください。該当しなければ 0 と出力してください。
入力は以下のフォーマットで与えられます。
r c dr dc p
L_{a1} L_{b1} ... L_{h1}
L_{a2} L_{b2} ... L_{h2}
...
L_{a8} L_{b8} ... L_{h8}
p が与えられます。r, c は 1始まりの座標、dr, dc は -1, 0, 1 のいずれか、p は B または W です。-, B, W のいずれかです。反転される各座標を 1 行に 1 つ、r c 形式で小さい方から順に(指定方向に沿った順)出力してください。該当がなければ 0 を 1 行で出力してください。
最後は改行し、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・8 × 8 の盤面で、各マスは -, B, W のいずれか
・1 ≦ r, c ≦ 8
・dr, dc ∈ { -1, 0, 1 } かつ (dr, dc) ≠ (0, 0)
・(r, c) は空点( - )
4 3 0 1 B
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - W B - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
4 4