ひたすらゲームの性質を観察する。
S = 1
先手の手の列を, 後手の手の列をとする。
まず、先手は一手目より小さいカードを出せない。つまり、先手の一手目は必ず最小のカードでなければならない。
後手も先手の一手目以下のカードは出せない。
先手の有効な手の列でとなっている部分があったら、入れ替えが可能であることを示す。後手はと等しいカードをターン目までに出したはずだが、ちょうどターン目には出せないので、ターン目より前に出しているはず。したがって、の入れ替えと同時にとも入れ替えれば有効な列のままである。
以上より、先手の手の列としてはカードを昇順にソートしたものだけ調べればよい。これに対する後手の手の列も昇順としてよいことを示す。となるがあるとき、入れ替えてもそれぞれのとの大小関係は維持される。あとはを先に出すことによってが出せなくなる場合があるか検討する必要があるが、その場合はが成り立つので、となって矛盾。
したがって、先手、後手のカードをそれぞれ昇順にソートして、有効な手の列になっているかどうか確かめればよい。
S = 2
盤面から消えたカードはbeatしたorされたものだけなので、同じ数字が書かれたカードが枚より多くあると引き分けることはできない。
いっぽう、以下のテクニックを使えば先手と後手のカードをだいたい任意に入れ替えることが可能なので、同じカードが枚以下の場合はだいたいYesということになる。
- 先手提出 → 後手giveup → ... → 先手提出 → 後手giveupを繰り返したあと、
- 先手提出 → 後手提出 → 先手giveup で攻守を交代して
- 後手提出 → 先手giveup → ... → 後手提出→ 先手giveup
先手と後手は1と3で出したカードを交換したことになる。このあとは後手提出 → 先手提出 → 後手giveup→先手提出 → 後手提出 → 先手giveup→……を繰り返しながら、カードを2枚ずつ捨てていけばよい。
しかし、コーナーケースがいくつかある:
- の場合、上のテクニックを使おうとすると途中で先手のカードが尽きてしまうので、特別に処理する必要がある。
- 先手の初期手札の最小値後手の初期手札の最大値がなりたっていて、先手または後手のカードがすべて同じ数の場合、上のテクニックがうまくいかない。
初手giveupができないルールと、カードがなくなった瞬間に終了するルールのおかげでだいぶ面倒になっている。