兔子跳跃之谜下【模拟题】——高级
1 Sec 64 MB |
27 | 115 |
通过 | 提交 |
题目描述
小生和小森在玩兔子之谜游戏。有三只兔子排成一排。知道每只兔子的初始位置,以及三个兔窝的位置。
游戏的规则是,重复以下步骤k次:选择两个不同的兔子A和B,分别位于a和b。A可以跳过B到达2*b-a的点:
跳跃是不允许其他小兔子已经在点2*b-a的位置上:
跳跃也不允许一次跳过一个以上的兔子:
现在小生和小森想要知道,k次操作之后,能否让所有兔子都分别跳到一个兔窝里面。注意,第i个兔子并不一定要在第i个巢。并且输出跳法的种数,数值可能很大,要对结果取模1000000007。只要有一个跳跃是不同的,两种方式被认为是不同的。
输入格式
有多组测试数据:
第一行,包含一个整数Num,表示测试数据的个数。(1<=Num<=10)
每组测试数据,
第一行三个整数,第二行三个整数,分别表示兔子的初始位置和兔窝的位置。两组数值都是严格递增给出。范围均为[-10^18,10^18]。
最后一个整数k。[1,100]。
输出格式
共Num行,
跳跃的种数。
样例输入 #1
8 0 5 8 0 8 11 1 0 5 8 0 8 11 3 0 5 8 0 8 11 2 5 8 58 13 22 64 58 0 1 2 1 2 3 100 5 8 58 20 26 61 58 67 281 2348 235 1394 3293 83 -1000000000000000000 999999999999999998 999999999999999999 -1000000000000000000 999999999999999999 1000000000000000000 5
样例输出 #1
1 5 0 0 0 537851168 167142023 29