AOJ2407 Simple Othello
問題リンク Simple Othello
- 解法
両端の駒の状態だけ見て、O(1)で判定できます。
結論から言うと、両端がともにxのときだけxが勝ち、それ以外はoが勝ちます。
両端がoとxのとき、先攻はx側に駒を置いて両端がoになります。xはどちらに駒を置いても、次のターンに置いた駒をoで上書きされます。よっていずれ全てoになります。
両端がoのとき、先攻のoはパスをし、上の状態と同じになるのでoが勝ちます。
両端がxのときはx側が常にoを上書きし続けられるので、xが勝ちます。
- ソース
import java.util.Scanner; //Simple Othello public class AOJ2407 { void run(){ Scanner sc = new Scanner(System.in); char[] s = sc.next().toCharArray(); int n = s.length; System.out.println(s[0]==s[n-1]&&s[0]=='x'?'x':'o'); } public static void main(String[] args) { new AOJ2407().run(); } }