题目描述
(1, 2, 3, …, N) を並び替えてできる数列 a であって、以下の条件を満たすものの数を出力してください。
- 1 ≤ i ≤ M を満たす全ての整数 i について、a1, a2, a3, …, aXi の中に Yi 以下の数は Zi 個以下しか存在しない
输入格式
入力は以下の形式で標準入力から与えられる。
N M X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 ⋮ XM YM ZM
输出格式
答えを出力せよ。
题目大意
第一行给定 n 和 m。后 m 行,每行给定一个规则。
- 规则:后 m 行每行给出三个整数 Xi,Yi,Zi,表示在排列的前 Xi 个数字中最多只能有 Zi 个数字小于等于 Yi。
构造长度为 n 的排列,求最多可以构造多少个满足所有规则的排列。
3 1
2 2 1
4
5 2
3 3 2
4 4 3
90
18 0
6402373705728000
提示
制約
- 2 ≤ N ≤ 18
- 0 ≤ M ≤ 100
- 1 ≤ Xi < N
- 1 ≤ Yi < N
- 0 ≤ Zi < N
- 入力に含まれる値は全て整数である
Sample Explanation 1
条件を満たす a は以下の 4 つです。 - (1, 3, 2) - (2, 3, 1) - (3, 1, 2) - (3, 2, 1) (1, 2, 3) や (2, 1, 3) は、a1, a2 の中に 2 以下の数が 2 つあるため条件を満たしません。