怠惰の累積和

技術/競プロ/怪文書/虚無

AtCoder Beginner Contest 048 D - An Ordinary Game

問題概要

 2人で交互に文字列から1文字ずつ除いていく。先に任意のアルファベットを隣り合わせた方が負け。2人とも最適に動いた時どっちが勝つ?

atcoder.jp

 

解法

 最終的に出来上がる(敗者の最終手を打つ前の段階の文字列)は1字飛ばしで同じ文字が存在することになる。このことから(文字列の長さが偶数 xor  最初と最後の文字は同じ)=1(どちらかの条件のみ満たしている(どっちも満たしていてはアウトなことに注意))が成り立てばよい。

atcoder.jp