测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5882. 「CEOI2016」袋鼠

编程题 省选/NOI-
知识点

题目描述

一行共有 $N$ 个格子,从左到右从 $1$ 到 $N$ 编号。一只袋鼠从 $c_s$ 出发,经过恰好 $N-1$ 次跳跃,到达 $c_f$,并且经过所有的 $N$ 个格子,每次跳跃的方向都与上一次不同。如果袋鼠当前所在的格子为 $\text{current}$,来自 $\text{prev}$,则其下一个格子 $\text{next}$ 满足:
* 如果 $\text{prev} < \text{current}$,则 $\text{next} < \text{current}$;
* 如果 $\text{current} < \text{prev}$,则 $\text{current} < \text{next}$。

求不同的跳跃方案数除以 $1000000007\ (10^9+7)$ 的余数。

输入格式

一行三个正整数 $N, c_s, c_f$.

输出格式

一行一个整数,表示袋鼠的不同路线数模 $100000007\ (10^9+7)$ 的余数。

输入输出样例

输入 #1
4 2 3
输出 #1
2

说明/提示

* $2 \le N \le 2000$
* $1 \le c_s \le N$
* $1 \le c_f \le N$
* $c_s \neq c_f$
* 对于 $6\%$ 的测试数据,$N \le 6$。
* 对于 $36\%$ 的测试数据,$N \le 40$。
* 对于 $51\%$ 的测试数据,$N \le 200$。
* 两条路线不同当且仅当访问各个格子的顺序不同。
* 数据保证至少有一条符合要求的路线。
* 袋鼠第一次从 $c_s$ 开始可以向任意方向跳跃。
上一题 去做题 下一题