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 自动生成**