AOJ 2407 - Simple Othello

ふんふむ.

解法

かたまりで見る.
例. ooxox -> oxox, xoooox -> xox
(1) かたまりが1つ(o, x)
両者はパスするしかないので,そのかたまりの色の方が勝つ.

(2) かたまりが偶数個
oが勝つ.

(3) かたまりが奇数個
端っこの色のほうが勝つ.
例. oxoxo -> oの勝ち,xox -> xの勝ち

コード

#include <iostream>

int main(){
    std::string S;
    std::cin >> S;

    char prev = '*';
    int l = 0;
    for(const char &c : S){
        if(c != prev){
            ++l; prev = c;
        }
    }

    if(l == 1 || l & 1){
        std::cout << S[0] << std::endl;
    }else{
        std::cout << 'o' << std::endl;
    }
}