リバーシメニューのサムネイル
(問題 1)リバーシ石置き Java編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

(はじめに)
これからこのリバーシ問題集でリバーシの仕組みを学習していきます。

まず初めに、ボードの管理について行います。リバーシでは 8 × 8 の盤面を使います。64 マスそれぞれの列、行に応じてアルファベットと数字の組み合わせでマスの番号がつけられています。具体的には以下のようになっています。


a1 b1 c1 d1 e1 f1 g1 h1
a2 b2 c2 d2 e2 f2 g2 h2
a3 b3 c3 d3 e3 f3 g3 h3
a4 b4 c4 d4 e4 f4 g4 h4
a5 b5 c5 d5 e5 f5 g5 h5
a6 b6 c6 d6 e6 f6 g6 h6
a7 b7 c7 d7 e7 f7 g7 h7
a8 b8 c8 d8 e8 f8 g8 h8


今回は何も置かれていない盤面に石を置いていきます。石の表記については、1 文字の英大文字で表すことにし、B, W でどちらの色の石かを表します。また、何も置かれていないマスは - とします。この表記は以降の問題でも利用していきます。

では、実際にやってみましょう。

(問題)
はじめ、何も置かれていない盤面があります。ここに今から N 個の石を置いていきます。i (1 ≦ i ≦ N) 番目には L_i の位置に、C_i の駒を置きます。N 個の駒を置いた後の盤面を出力してください。

入力される値

入力は以下のフォーマットで与えられます。

   
N
L_1 C_1
L_2 C_2
...
L_N C_N


1 行目には 1 つの整数 N が与えられます。

1 + i (1 ≦ i ≦ N) 行目には 2 つの文字列 L_i,C_i が与えられます。

入力は N + 1 行となり、末尾に改行が 1 つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

答えを、8 行で出力してください。

i (1 ≦ i ≦ 8) 行目には ai,bi,ci,di,ei,fi,gi,hi を空白区切りで出力してください。

最後は改行し、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ N ≦ 6
・L_i は 1 文字目が a,b,c,d,e,f,g,h のいずれかで、2 文字目が 1,2,3,4,5,6,7,8 のいずれかである 2 文字の文字列 (1 ≦ i ≦ N)
・C_i は B,W のいずれかである 1 文字の文字列 (1 ≦ i ≦ N)
・L_i ≠ L_j (1 ≦ i < j ≦ N)

入力例1

1
d4 B

出力例1

- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - B - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. リバーシメニュー(言語選択)
  4. 問題一覧 Java編
  5. (問題 1)リバーシ石置き Java編
ページの先頭へ戻る