Problem 2381. -- 骑士

2381: 骑士

Time Limit: 20 Sec  Memory Limit: 256 MB
Submit: 1  Solved: 0
[Submit][Status][Web Board]

Description

有N个士兵,第i个士兵的重量是w[i]。有N匹马,第i匹马的重量是h[i]。现在为每个士兵分配一匹马。1个士兵和1
匹马在一起,就组成了一个骑士。骑士的战斗力等于士兵的重量和马的重量的乘积。第1个士兵的身份是班长,为
了显示班长的地位,班长所在的骑士的战斗力必须比其他骑士的战斗力要大。你是司令,你的任务是为这N个士兵
分配马,那么你有多少种不同的分配方案可以满足上述的要求?答案模1000000007。

Input

多组测试数据。
第一行,一个整数R,表示有R组测试数据。1<=R<=3。
每组测试数据格式如下:
第一行,一个整数N。2 <= N <= 50。
第二行,N个整数,第i个整数是w[i]。 1 <= w[i] <= 1000。
第三行,N个整数,第i个整数是h[i]。 1 <= h[i] <= 1000。

Output

共R行,每行一个整数。

Sample Input

2
4
5 8 4 8 
19 40 25 20 
3
10 2 10 
100 150 200

Sample Output

2
3
第一组测试数据:
方案1: (5,40), (8,19), (4,25), (8,20)。
班长的骑士战斗力=5*40=200,
其他3个骑士的战斗力分别是:8*19,4*25,8*20,都比班长骑士的战斗力低。
方案2: (5,40), (8,20), (4,25), (8,19)。
班长的骑士战斗力=5*40=200,
其他3个骑士的战斗力分别是:8*20,4*25,8*19,都比班长骑士的战斗力低。
第二组测试数据:
方案1:(10,200), (2,150), (10,100)
方案2:(10,200), (2,100), (10,150)
方案3:(10,150), (2,200), (10,100)

HINT

Source

[Submit][Status]