[ARC058E] 和風いろはちゃん
题意翻译
- 若 $a=\{a_1,a_2,\cdots a_n\}$ 存在 $1\le x<y<z<w\le n+1$ 满足 $\sum\limits_{i=x}^{y-1}a_i=X,\sum\limits_{i=y}^{z-1}a_i=Y,\sum\limits_{i=z}^{w-1}a_i=Z$ 时,则称数列 $a$ 是**好的**。
- 求在所有长度为 $n$ 且 $a_i\in\mathbb{N}^{+}\cap[1,10]$ 的 $10^n$ 个序列 $a$ 中,有多少个序列是**好的**,答案对 $10^9+7$ 取模。
- $3\le n\le40$,$1\le X\le5$,$1\le Y\le7$,$1\le Z\le5$。
题目描述
[problemUrl]: https://atcoder.jp/contests/arc058/tasks/arc058_c
日本の誇る美しいリズムとして、五七五というものがあります。 いろはちゃんは、数列から五七五を探すことにしました。でもこれは簡単だったので、XYZを探すことにしました。
長さ $ N $ の、それぞれの値が $ 1~10 $ の数列 $ a_0,\ a_1,\ ...,\ a_{N-1} $ を考えます。このような数列は全部で $ 10^N $ 通りありますが、そのうちXYZを含むものは何通りでしょう?
ただし、XYZを含むとは以下のように定義されます。
- $ a_x\ +\ a_{x+1}\ +\ ...\ +\ a_{y-1}\ =\ X $
- $ a_y\ +\ a_{y+1}\ +\ ...\ +\ a_{z-1}\ =\ Y $
- $ a_z\ +\ a_{z+1}\ +\ ...\ +\ a_{w-1}\ =\ Z $
を満たす $ 0\ ≦\ x\ <\ y\ <\ z\ <\ w\ ≦\ N $ が存在する。
なお、答えは非常に大きくなることがあるので、答えは $ 10^9+7 $ で割ったあまりを出力してください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X $ $ Y $ $ Z $
输出格式
XYZを含む数列の個数を $ 10^9+7 $ で割ったあまりを出力せよ。
输入输出样例
输入样例 #1
3 5 7 5
输出样例 #1
1
输入样例 #2
4 5 7 5
输出样例 #2
34
输入样例 #3
37 4 2 3
输出样例 #3
863912418
输入样例 #4
40 5 7 5
输出样例 #4
562805100
说明
### 制約
- $ 3\ ≦\ N\ ≦\ 40 $
- $ 1\ ≦\ X\ ≦\ 5 $
- $ 1\ ≦\ Y\ ≦\ 7 $
- $ 1\ ≦\ Z\ ≦\ 5 $
### Sample Explanation 1
$ \{5,7,5\} $ という数列のみが条件を満たします。