你在一棟有 $ 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 $ 的餘數即可。
輸入只有一行,該行中包含四個以一個空白隔開的整數,依序為 $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$
輸出一行,包含一個整數,即為題目所述的方法數除以 $1000000007$ 的餘數。
Not Hint
你說你不會這麼無聊在玩電梯?因為不想要用大家沒看過的人名,只好讓你來玩電梯啦!
NEOJ Problem 416
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~11 | 30 | |
2 | 0~23 | 40 | |
3 | 0~35 | 30 |