# 掷骰子的N种方法

<p>这里有&nbsp;<code>d</code>&nbsp;个一样的骰子，每个骰子上都有&nbsp;<code>f</code>&nbsp;个面，分别标号为&nbsp;<code>1, 2, ..., f</code>。</p>

<p>我们约定：掷骰子的得到总点数为各骰子面朝上的数字的总和。</p>

<p>如果需要掷出的总点数为&nbsp;<code>target</code>，请你计算出有多少种不同的组合情况（所有的组合情况总共有 <code>f^d</code> 种），<strong>模&nbsp;<code>10^9 + 7</code></strong>&nbsp;后返回。</p>

<p>&nbsp;</p>

<p><strong>示例 1：</strong></p>

<pre><strong>输入：</strong>d = 1, f = 6, target = 3
<strong>输出：</strong>1
</pre>

<p><strong>示例 2：</strong></p>

<pre><strong>输入：</strong>d = 2, f = 6, target = 7
<strong>输出：</strong>6
</pre>

<p><strong>示例 3：</strong></p>

<pre><strong>输入：</strong>d = 2, f = 5, target = 10
<strong>输出：</strong>1
</pre>

<p><strong>示例 4：</strong></p>

<pre><strong>输入：</strong>d = 1, f = 2, target = 3
<strong>输出：</strong>0
</pre>

<p><strong>示例 5：</strong></p>

<pre><strong>输入：</strong>d = 30, f = 30, target = 500
<strong>输出：</strong>222616187</pre>

<p>&nbsp;</p>

<p><strong>提示：</strong></p>

<ul>
	<li><code>1 &lt;= d, f &lt;= 30</code></li>
	<li><code>1 &lt;= target &lt;= 1000</code></li>
</ul>


## template

```cpp


```

## 答案

```cpp

```

## 选项

### A

```cpp

```

### B

```cpp

```

### C

```cpp

```