マルバツゲームメニューのサムネイル
(問題 13) 次手で相手の一手勝ちを防げるか D(Beta)編(paizaランク D 相当)

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

問題

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

(はじめに)



次はあなたの番です。ここでは先手のコマを o、後手のコマを x とします。
盤面の - の個数の偶奇から、次手のプレイヤー(あなた)を決めることができます(- が奇数個なら先手 o、偶数個なら後手 x)。

(問題)



3 × 3 の盤面 B が与えられます。次はあなたの番です。あなたが 1 手打った後、次の相手の番で相手が 1 手で勝つことが「できない」状態にできるか判定してください。

入力される値

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

B_{1,1} B_{1,2} B_{1,3}
B_{2,1} B_{2,2} B_{2,3}
B_{3,1} B_{3,2} B_{3,3}


i (1 ≦ i ≦ 3) 行目には 3 つの文字 B_{i,1},B_{i,2},B_{i,3} が与えられます。
入力は合計で 3 行からなり、入力値最終行の末尾に改行が 1 つ入ります。


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

答えを 1 行で出力してください。条件を満たす 1 手が存在するなら Yes、存在しないなら No を出力してください。

条件

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


  • B_{i,j} (1 ≦ i, j ≦ 3) は ox-

  • 与えられる盤面は先手後手が交互にコマを置いてきた盤面である(0 ≦ 個数(o) − 個数(x) ≦ 1)

  • 少なくとも 1 つは - が存在する

  • 与えられる盤面では、まだいずれのプレイヤーの勝敗も確定していない

入力例1

x x -
- o -
- - o

出力例1

Yes

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. マルバツゲームメニュー(言語選択)
  4. 問題一覧 D(Beta)編
  5. (問題 13) 次手で相手の一手勝ちを防げるか D(Beta)編
ページの先頭へ戻る