1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 将棋メニュー(言語選択)
  4. 問題一覧 Kotlin編
  5. (問題 10)コマの動かし方 角行 Kotlin編

将棋メニューのサムネイル
(問題 10)コマの動かし方 角行 Kotlin編(paizaランク B 相当)

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

問題

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

はじめに



最後は角行です。

角行は敵のコマを取るか、自分のコマの手前のマスまで斜めに移動することが出来ます。

例えば、以下の盤面があるとき、白角行は ※マークがついたマスに移動が出来ます。
ーーー  ーーー  ーーー  ーーー  ーーー  ーーー  ーーー  ーーー  ーーー 
ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー
ーーー ーーー ーーー ーーー ーーー 黒歩兵 ーーー ーーー ーーー
ーーー 白歩兵 ーーー 白と金 ーーー ーーー ーーー ーーー ーーー*
ーーー ーーー 白王将 黒銀将* ーーー ーーー ーーー ーーー* ーーー
ーーー ーーー ーーー ーーー ーーー* ーーー ーーー* ーーー ーーー
ーーー 白金将 ーーー ーーー ーーー 白角行 ーーー ーーー ーーー
ーーー ーーー ーーー ーーー ーーー* ーーー ーーー* ーーー ーーー
ーーー ーーー ーーー 白香車 ーーー ーーー ーーー ーーー* ーーー


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

問題



コマが置かれた盤面 L が与えられます。位置 P に置かれた角行のコマが移動できるマスを全て列挙してください。

入力される値


P
L_{1九} L_{2九} ... L_{9九}
L_{1八} L_{2八} ... L_{9八}
...
L_{1一} L_{2一} ... L_{9一}

1 行目には 1 つの文字列 P が与えられます。

i + 1 (1 ≦ i ≦ 9) 行目には n = 10 - i の漢数字としたとき、9 つの文字列 L_{1n},L_{2n},L_{3n},L_{4n},L_{5n},L_{6n},L_{7n},L_{8n},L_{9n} が与えられます。

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


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

答えのマス数を q としたとき、答えを、q + 1 行で出力してください。

1 行目には q を出力してください。1 + i (1 ≦ i ≦ q) 行目には移動できるマスを出力してください。ただし、漢数字が大きい順、漢数字が同じであれば数字が小さい順で出力してください。

条件

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

  • P は 1 文字目が 1,2,3,4,5,6,7,8,9 のいずれかで、2 文字目が 一,二,三,四,五,六,七,八,九 のいずれかである 2 文字の文字列

  • L の要素は 1 文字目が 黒,白 のいずれかで、2,3 文字目が 歩兵,王将,角行,飛車,金将,銀将,香車,桂馬,龍王,龍馬,と金,成銀,成香,成桂 のいずれかである 3 文字の文字列かーーー

  • L_P は白角行か黒角行
  • 入力例1

    3六
    ーーー ーーー ーーー ーーー ーーー ーーー ーーー 黒王将 ーーー
    ーーー ーーー ーーー ーーー ーーー ーーー 黒桂馬 ーーー ーーー
    ーーー ーーー ーーー ーーー ーーー ーーー 黒銀将 ーーー ーーー
    ーーー ーーー 白角行 ーーー 黒金将 ーーー 白桂馬 ーーー ーーー
    ーーー 白龍馬 ーーー 黒龍馬 ーーー 白香車 ーーー 白歩兵 ーーー
    ーーー ーーー 白桂馬 ーーー ーーー ーーー ーーー ーーー ーーー
    ーーー ーーー 白金将 ーーー 白飛車 ーーー ーーー ーーー ーーー
    ーーー 黒と金 黒成桂 白と金 ーーー ーーー ーーー ーーー ーーー
    ーーー ーーー ーーー ーーー 白王将 ーーー ーーー ーーー ーーー

    出力例1

    6
    6九
    1八
    5八
    2七
    4七
    4五

    入力例2

    1九
    黒角行 ーーー ーーー ーーー ーーー 黒香車 黒飛車 黒王将 ーーー
    ーーー ーーー ーーー ーーー ーーー ーーー 白と金 ーーー ーーー
    ーーー ーーー ーーー ーーー ーーー ーーー 黒銀将 ーーー 黒と金
    ーーー ーーー ーーー 黒歩兵 ーーー ーーー 白桂馬 ーーー 黒金将
    ーーー 白龍馬 ーーー 黒龍馬 ーーー 白歩兵 ーーー 白歩兵 ーーー
    ーーー ーーー 白桂馬 ーーー ーーー ーーー ーーー ーーー ーーー
    ーーー ーーー 白銀将 ーーー ーーー ーーー ーーー ーーー ーーー
    ーーー 黒と金 ーーー 白と金 ーーー ーーー ーーー ーーー ーーー
    ーーー ーーー ーーー ーーー 白王将 ーーー ーーー ーーー ーーー

    出力例2

    2
    2八
    3七

    問題一覧へ戻る

    ページの先頭へ戻る