マルバツゲームメニューのサムネイル
(問題 12) 一手勝ちの判定 Ruby編(paizaランク D 相当)

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

問題

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

(はじめに)



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

(問題)



3 × 3 の盤面 B が与えられます。次はあなたの番です。その一手で勝つことができるか判定してください。

入力される値

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

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 行で出力してください。その一手で勝てる場合は Yes、勝てない場合は No を出力してください。

条件

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


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

  • 与えられる盤面は先手後手が交互にコマを置いてきた盤面である

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

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

入力例1

o o -
x - x
- - -

出力例1

Yes

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. マルバツゲームメニュー(言語選択)
  4. 問題一覧 Ruby編
  5. (問題 12) 一手勝ちの判定 Ruby編
ページの先頭へ戻る