1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 将棋メニュー(言語選択)
  4. 問題一覧 VB(Beta)編
  5. (問題 17)27 点法 VB(Beta)編

将棋メニューのサムネイル
(問題 17)27 点法 VB(Beta)編(paizaランク C 相当)

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

問題

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

はじめに



ここでは、27 点法について学習していきます。

27 点法とは以下の条件が全て成り立っている状態のとき、宣言することで勝つことが出来るルールのことです。盤面において白の敵陣地は上 3 行、黒の敵陣地は下 3 行のことを指します。

  • 敵陣地に自分の王将が存在する。


  • 王手されていない。


  • 敵陣地に自分の王将以外のコマが 10 個存在する。


  • 敵陣地と持ちコマにあるコマを王将 0 点、角行、飛車とその成りコマ 5 点、その他 1 点とし得点を計算すると、白なら 28 点以上、黒なら 27 点以上である。


  • 王手されているかの判定は問題 13 で行いました。あとは残りの 3 つの条件を敵陣地のマスを調べて判定を行うことで宣言できるかどうかを判定できます。

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

    問題



    コマが置かれた盤面 L が与えられます。白と黒のそれぞれにおいて、27 点法により宣言できるか判定してください。

    入力される値


    L_{1九} L_{2九} ... L_{9九}
    L_{1八} L_{2八} ... L_{9八}
    ...
    L_{1一} L_{2一} ... L_{9一}
    n
    motigoma_白
    m
    motigoma_黒

    i (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 つの整数 n が与えられます。

    11 行目には n 個の文字列 motigoma_白_1,motigoma_白_2,motigoma_白_3,...,motigoma_白_n が与えられます。

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

    13 行目には m 個の文字列 motigoma_黒_1,motigoma_黒_2,motigoma_黒_3,...,motigoma_黒_m が与えられます。

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


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

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

    1 行目には白が 27 点法により宣言できる場合は Yes を、そうでない場合は No を、2 行目には黒が 27 点法により宣言できる場合は Yes を、そうでない場合は No を出力してください。

    条件

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

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


  • 0 ≦ n, m ≦ 38


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


  • motigoma_黒 の要素は 1 文字目が で、2,3 文字目が 歩兵,角行,飛車,金将,銀将,香車,桂馬 のいずれかである 3 文字の文字列
  • 入力例1

    黒香車 黒桂馬 黒銀将 黒金将 黒王将 黒金将 黒銀将 黒桂馬 黒香車
    ーーー 黒飛車 ーーー ーーー ーーー ーーー ーーー 黒角行 ーーー
    黒歩兵 黒歩兵 黒歩兵 黒歩兵 黒歩兵 黒歩兵 黒歩兵 黒歩兵 黒歩兵
    ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー
    ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー
    ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー ーーー
    白歩兵 白歩兵 白歩兵 白歩兵 白歩兵 白歩兵 白歩兵 白歩兵 白歩兵
    ーーー 白角行 ーーー ーーー ーーー ーーー ーーー 白飛車 ーーー
    白香車 白桂馬 白銀将 白金将 白王将 白金将 白銀将 白桂馬 白香車
    0

    0

    出力例1

    No
    No

    入力例2

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

    0

    出力例2

    No
    Yes

    問題一覧へ戻る

    ページの先頭へ戻る