302489: CF479E. Riding in a Lift

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Riding in a Lift

题意翻译

一个楼有N层,由于你很无聊,你开始玩电梯。你的初始位置在A层,有个神秘实验室在B层,所以你的移动会受到如下限制:假设你在x层,你能走到的y层都要满足 |x - y| < |x - b|. 你不能走到B层或者留在原地。问一共走K次,有多少种走法。

题目描述

Imagine that you are in a building that has exactly $ n $ floors. You can move between the floors in a lift. Let's number the floors from bottom to top with integers from $ 1 $ to $ n $ . Now you're on the floor number $ a $ . You are very bored, so you want to take the lift. Floor number $ b $ has a secret lab, the entry is forbidden. However, you already are in the mood and decide to make $ k $ consecutive trips in the lift. Let us suppose that at the moment you are on the floor number $ x $ (initially, you were on floor $ a $ ). For another trip between floors you choose some floor with number $ y $ ( $ y≠x $ ) and the lift travels to this floor. As you cannot visit floor $ b $ with the secret lab, you decided that the distance from the current floor $ x $ to the chosen $ y $ must be strictly less than the distance from the current floor $ x $ to floor $ b $ with the secret lab. Formally, it means that the following inequation must fulfill: $ |x-y|<|x-b| $ . After the lift successfully transports you to floor $ y $ , you write down number $ y $ in your notepad. Your task is to find the number of distinct number sequences that you could have written in the notebook as the result of $ k $ trips in the lift. As the sought number of trips can be rather large, find the remainder after dividing the number by $ 1000000007 $ ( $ 10^{9}+7 $ ).

输入输出格式

输入格式


The first line of the input contains four space-separated integers $ n $ , $ a $ , $ b $ , $ k $ ( $ 2<=n<=5000 $ , $ 1<=k<=5000 $ , $ 1<=a,b<=n $ , $ a≠b $ ).

输出格式


Print a single integer — the remainder after dividing the sought number of sequences by $ 1000000007 $ ( $ 10^{9}+7 $ ).

输入输出样例

输入样例 #1

5 2 4 1

输出样例 #1

2

输入样例 #2

5 2 4 2

输出样例 #2

2

输入样例 #3

5 3 4 1

输出样例 #3

0

说明

Imagine that you are in a building that has exactly $ n $ floors. You can move between the floors in a lift. Let's number the floors from bottom to top with integers from $ 1 $ to $ n $ . Now you're on the floor number $ a $ . You are very bored, so you want to take the lift. Floor number $ b $ has a secret lab, the entry is forbidden. However, you already are in the mood and decide to make $ k $ consecutive trips in the lift. Let us suppose that at the moment you are on the floor number $ x $ (initially, you were on floor $ a $ ). For another trip between floors you choose some floor with number $ y $ ( $ y≠x $ ) and the lift travels to this floor. As you cannot visit floor $ b $ with the secret lab, you decided that the distance from the current floor $ x $ to the chosen $ y $ must be strictly less than the distance from the current floor $ x $ to floor $ b $ with the secret lab. Formally, it means that the following inequation must fulfill: $ |x-y|<|x-b| $ . After the lift successfully transports you to floor $ y $ , you write down number $ y $ in your notepad. Your task is to find the number of distinct number sequences that you could have written in the notebook as the result of $ k $ trips in the lift. As the sought number of trips can be rather large, find the remainder after dividing the number by $ 1000000007 $ ( $ 10^{9}+7 $ ).

Input

题意翻译

一个楼有N层,由于你很无聊,你开始玩电梯。你的初始位置在A层,有个神秘实验室在B层,所以你的移动会受到如下限制:假设你在x层,你能走到的y层都要满足 |x - y| < |x - b|. 你不能走到B层或者留在原地。问一共走K次,有多少种走法。

加入题单

算法标签: