以下のようなDPを考えます.
dp[si][sj][w]dp[si][sj][w]dp[si][sj][w]: Aliceが既に使ったカードの集合がsisisi,Bobが既に使ったカードの集合がsjsjsj,AliceのポイントがBobのポイントをwww上回った状態の通り数
bitDPを利用することにより,O(N222N)\mathrm{O}(N^22^{2N})O(N222N)で,任意のsisisi,sjsjsj,wwwにおけるdp[si][sj][w]dp[si][sj][w]dp[si][sj][w]を全て求めることができます.
dp[2N−1][2N−1][w]dp[2^N-1][2^N-1][w]dp[2N−1][2N−1][w]のうち,wwwが正のものの合計が求める答えとなります.