TopCoder

會寫程式的羊
咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩咩

User's AC Ratio

93.8% (15/16)

Submission's AC Ratio

66.7% (22/33)

Tags

Description

你在一棟有 $ n $ 層樓的建築物中(樓層編號當然是 $ 1 $ 到 $ n $ 呀),現在你在樓層 $ a $ ,其中樓層 $ b $ 是研究神秘植物「滋訓枝枒」的研究室,因此你被禁止進入樓層 $ b $ 。
無聊的你想要連續坐 $ k $ 趟電梯。你原本在樓層 $ x $ ,你會挑一個樓層 $ y $ ,搭乘電梯從樓層 $ x $ 到樓層 $ y $ ,這樣稱為搭乘一趟電梯;其中為了避免不小心到達禁止進入的樓層 $ b $ ,你會確保樓層 $ y $ 與樓層 $ x $ 的距離小於樓層 $ b $ 與樓層 $ x $ 的距離,也就是 $ |y - x| < |b - x| $ ;另一方面,樓層 $ y $ 要是跟樓層 $ x $ 是同一層的話,電梯根本不會動,所以也要求 $ y \neq x $ 。懶惰的你是不會想要爬樓梯的,所以第 $ i + 1 $ 趟電梯的起點一定會是第 $ i $ 趟電梯的終點(第 $ 1 $ 趟電梯的起點就是樓層 $ a $ )。
現在的問題非常單純,就是你想知道有多少種不同方法讓你坐 $ k $ 趟電梯,兩種方法被視為同一種方法當且僅當對於所有的 $ i $ ( $ 0 < i \leq k $ )都滿足兩個方法在坐完第 $ i $ 趟電梯時所在的樓層一樣。
由於答案可能會非常大,請你輸出方法數除以 $ 1000000007 $ 的餘數即可。

Input Format

輸入只有一行,該行中包含四個以一個空白隔開的整數,依序為 $n,a,b,k$ ,意義如題目所述。
$2 \leq n \leq 2000$
$1 \leq a, b \leq n$
$a \neq b$
$1 \leq k \leq 2000$
對於 30% 的測資,$n \leq 10$,$k \leq 10$
對於 70% 的測資,$n \leq 150$,$k \leq 150$

Output Format

輸出一行,包含一個整數,即為題目所述的方法數除以 $1000000007$ 的餘數。

Sample Input 1

8 2 5 2

Sample Output 1

5

Sample Input 2

7 1 2 2

Sample Output 2

0

Sample Input 3

140 112 31 201

Sample Output 3

177623392

Hints

Not Hint
你說你不會這麼無聊在玩電梯?因為不想要用大家沒看過的人名,只好讓你來玩電梯啦!

Problem Source

NEOJ Problem 416

Subtasks

No. Testdata Range Constraints Score
1 0~11 30
2 0~23 40
3 0~35 30

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 65536 1 2 3
1 1000 65536 65536 1 2 3
2 1000 65536 65536 1 2 3
3 1000 65536 65536 1 2 3
4 1000 65536 65536 1 2 3
5 1000 65536 65536 1 2 3
6 1000 65536 65536 1 2 3
7 1000 65536 65536 1 2 3
8 1000 65536 65536 1 2 3
9 1000 65536 65536 1 2 3
10 1000 65536 65536 1 2 3
11 1000 65536 65536 1 2 3
12 1000 65536 65536 2 3
13 1000 65536 65536 2 3
14 1000 65536 65536 2 3
15 1000 65536 65536 2 3
16 1000 65536 65536 2 3
17 1000 65536 65536 2 3
18 1000 65536 65536 2 3
19 1000 65536 65536 2 3
20 1000 65536 65536 2 3
21 1000 65536 65536 2 3
22 1000 65536 65536 2 3
23 1000 65536 65536 2 3
24 1000 65536 65536 3
25 1000 65536 65536 3
26 1000 65536 65536 3
27 1000 65536 65536 3
28 1000 65536 65536 3
29 1000 65536 65536 3
30 1000 65536 65536 3
31 1000 65536 65536 3
32 1000 65536 65536 3
33 1000 65536 65536 3
34 1000 65536 65536 3
35 1000 65536 65536 3