SRM549 Div2 Easy(250) BallAndHats

BallAndHats

numSwapsが0の場合、最初の位置がそのまま答え。それ以外の場合、最初の位置+numSwapsが奇数ならば、ボールは中央。偶数ならば、左と右が等確率。

#include <string>
using namespace std;

class BallAndHats{public:
int getHat( string hats, int numSwaps )
{
    int p = -1;
    for ( int i=0; i<3; i++ )
        if ( hats[i]=='o' )
            p = i;
    if ( numSwaps==0 )
        return p;
    else
        return (p+numSwaps)%2;
}};