チェスメニューのサムネイル
チェス駒置き R(Beta)編(paizaランク C 相当)

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

問題

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

  • はじめに


  • これからこのチェス問題集でチェスの仕組みを学習していきます。

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

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


    今回は何も置かれていない盤面に駒を置いていきます。駒の表記については、2 文字の英大文字で表すことにし、1 文字目は B, W でどちらの色の駒かを表します。2 文字目は R ならルーク、B ならビショップ、N ならナイト、P ならポーン、Q ならクイーン、K ならキングを表すこととします。例えば、BN なら黒のナイト、WR なら白のルークを意味します。また、何も置かれていないマスは -- とします。この表記は以降の問題でも利用していきます。

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


  • 問題


  • はじめ、何も置かれていない盤面があります。ここに今から 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) 行目には n = 9 - i としたとき、an,bn,cn,dn,en,fn,gn,hn を空白区切りで出力してください。

    条件

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

    ・1 ≦ N ≦ 64
    ・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 は 1 文字目が B,W のいずれかで、2 文字目が R,B,N,P,Q,K のいずれかである 2 文字の文字列 (1 ≦ i ≦ N)
    ・L_i ≠ L_j (1 ≦ i < j ≦ N)

    入力例1

    5
    a8 BK
    g6 WP
    c3 BR
    e7 BK
    d2 WP

    出力例1

    BK -- -- -- -- -- -- --
    -- -- -- -- BK -- -- --
    -- -- -- -- -- -- WP --
    -- -- -- -- -- -- -- --
    -- -- -- -- -- -- -- --
    -- -- BR -- -- -- -- --
    -- -- -- WP -- -- -- --
    -- -- -- -- -- -- -- --

    問題一覧へ戻る

    1. paizaトップ
    2. レベルアップ問題集
    3. チェスメニュー(言語選択)
    4. 問題一覧 R(Beta)編
    5. チェス駒置き R(Beta)編
    ページの先頭へ戻る