AGC日本語につき問題文は略。agc005.contest.atcoder.jp包除原理の適用いくつかルールがあり、その全てorどれか1つを満たす*1方法を数え上げる問題には、包除原理が使える。個のルールがあり、0〜N個のルール採用方法のパターン数がそれぞれ計算できれば、包除原理が適用できて問題が解ける。ルールを満たすパターンの数え上げa[0]からa[N-1]まで順番にルールの採否を決めて処理しようとすると、選んだ数の履歴が必要に思える。ところが、この問題は観察により回避できる。突破口への鍵を探すため、具体例で考えよう。行と一致するとき、「ルール採用」と考える。