1733 挂横幅
Description
ChinaJoy又开始了!这次各大公司又将挂起各种宣传横幅。横幅会挂在两个柱子间的长度介于L1..L2的细线上。 ChinaJoy会场是一个W×H 的矩阵 并且主办方在每个坐标点上都竖立了柱子,在这 (W + 1) * (H + 1)个柱子上,主办方要选其中两个连上细线以挂上主办方自己的横幅。 CJ主办方不希望在他们的横幅之间有任何杂物,就是说在这条细线下面没有别的柱子,也不能穿过其它的柱子。 现在CJ主办方希望你能编程帮助他们算出有多少种挂横幅的方案。 考虑如下例子: 会场地图大小是W = 2 H = 1:
*
*
而横幅长度为2和3之间。这个会场共有 (2+1) (1+1) = 6个点以及有(6 选 2) = (65)/(2*1) = 15 对不同的选择方法:
(0,0)-(0,1) (0,0)-(2,1) (0,1)-(2,1) (1,1)-(2,0)
(0,0)-(1,0) (0,1)-(1,0) (1,0)-(1,1) (1,1)-(2,1)
(0,0)-(1,1) (0,1)-(1,1) (1,0)-(2,0) (2,0)-(2,1)
(0,0)-(2,0) (0,1)-(2,0) (1,0)-(2,1)
在这之中,只有四种是长度在2到3之间的: 长度 长度
(0,0)-(2,0) 2.00 (0,1)-(2,0) 2.24
(0,0)-(2,1) 2.24 (0,1)-(2,1) 2.00
但在这四种之中,(0,0)-(2,0)和(0,1)-(2,1)都穿过了其他的柱子,不符合主办方的要求,所以这个例子中15对选择方法中只有2种是可以成功挂上横幅的,所以答案是2。
Input
输入有多组数据,每组数据一行,包含4个整数W, H,(1 <= W <= 1,000; 1 <= H <= 1,000), L1, 和 L2,(1 <= L1 <= L2; L1 <= L2 <= 1,500)
Output
对于每组数据,输出一行,包含一个整数,表示可以成功帮主办方挂上横幅的方案有多少种。
Sample
Input
2 1 2 3
Output
2
Source: LCS
Comments