問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
ビット全探索を使う問題をもっと解いていきましょう。
N 個のランプが横一列に並べられています。
あなたはいまどのランプが光っているのか知りません。
そこで、M 人の友達から情報をもらうことにしました。
i 番目の友達は、左から l_i 個目 ~ r_i 個目のランプのうち、光っているランプの個数は x_i 個だと教えてくれました。
友達の情報に矛盾しないような光っているランプの組合せはいくつありますか?
N M
l_1 r_1 x_1
l_2 r_2 x_2
...
l_M r_M x_M
・ 1 行目には整数 N, M が与えられます。
・ 続く M 行には、友達からの情報 l_i, r_i, x_i が空白区切りで与えられます。
・ 入力は合計で M+1 行からなり、入力値最終行の末尾に改行が 1 つ入ります。
友達の情報に矛盾しないような光っているランプの組合せの個数を一行に出力してください。
すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ N ≦ 16
・ 1 ≦ M ≦ 30
・ 1 ≦ l_i ≦ r_i ≦ N
・ (l_i, r_i) ≠ (l_j, r_j) (i ≠ j)
・ 0 ≦ x_i ≦ r_i - l_i + 1
6 3
1 4 2
3 3 1
3 5 2
6
6 5
3 6 2
2 4 2
5 5 0
2 2 1
4 4 0
2
3 2
1 3 3
2 3 0
0