AT_agc070_c [AGC070C] No Streak
题目描述
Alice 和 Bob 进行了 $N$ 次猜拳。每次猜拳的可能结果包括「Alice 胜」、「Bob 胜」和「平局」。我们的任务是计算符合以下条件的猜拳结果有多少种,并输出总数对 $1000000007$ 求余数的结果:
1. 在 $N$ 次对战中,Alice 赢了 $A$ 次,而 Bob 赢了 $B$ 次。
2. Alice 不会连续赢两次,除非中间有平局。
3. Bob 也不会连续赢两次,除非中间有平局。
4. 在任一时刻,Alice 的累积胜场数不能少于 Bob 的累积胜场数。换句话说,对于每一次猜拳结束后(从第 1 次到第 $N$ 次),Alice 的胜场数始终大于或等于 Bob 的胜场数。
输入格式
从标准输入读取输入,格式如下:
> $N$ $A$ $B$
输出格式
输出满足上述所有条件的猜拳结果数量,并对 $10^9 + 7$ 取模。
说明/提示
## 数据范围
- $2 \leq N \leq 2 \times 10^7$
- $1 \leq B \leq A$
- $A + B \leq N$
- $N, A, B$ 为整数
### 举例说明
1. 假设猜拳进行如以下顺序,则符合要求:
- 第 1 次:Alice 胜。
- 第 2 次:Bob 胜。
- 第 3 次:Alice 胜。
- 第 4 次:平局。
- 第 5 次:Bob 胜。
而以下顺序不符合要求,因为第 4 次时,Alice 的胜场数(1)小于 Bob 的胜场数(2):
- 第 1 次:Alice 胜。
- 第 2 次:Bob 胜。
- 第 3 次:平局。
- 第 4 次:Bob 胜。
- 第 5 次:Alice 胜。
2. 请记得在计算最终结果时,需要模数 $10^9 + 7$。
**本翻译由 AI 自动生成**