SRM549 Div2 Easy(250) 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; }};