SP65 BALL1 - Ball
题目描述
在 $n×m$ 平方场的矩形棋盘上,我们选择一个与棋盘边缘相邻的场,称为起始场。然后我们把一个球放在这个场地的中心,推它滚过棋盘。球的直径等于棋盘场的宽度(和高度)。球的运动方向与棋盘边缘的夹角等于 $45$ 度。球从棋盘边缘反弹:如果球碰到棋盘的边缘,那么它的每一个垂直于边缘的复合速度都是相反的。在开始时,球被推向越来越多的坐标(当起始场是最高坐标的场时,球会瞬间反弹)。
每当球和棋盘的邻接点进入场的内部时,我们就给棋盘的一个场分配一个点。当一个点被分配到起始场时,游戏结束。分配奇数个数的字段的数量是多少?下面的数字说明了这个问题。球的路线用虚线标出。奇数点的字段被阴影遮蔽。
## 任务
**为每个数据集从多个数据集序列中编写一个程序:**
从输入中读取棋盘的尺寸和起始字段的坐标,
计算奇数个数的字段数,
将结果写入输出。
输入格式
输入文件的第一行包含一个整数 $d$,$1 \le d = 10$,这是数据集的数目。数据集如下。每个数据集占用输入文件的一行。这样的行由四个整数组成:$x,y,a,b$,用单个空格隔开。这些整数 $x$ 和 $y$ 维度的棋盘和 $x$ 和 $y$ 坐标的出发场,分别。整数 $x$ 和 $y$ 大于 $2$,棋盘的字段数不超过 $10^{9}$。
起始场靠近棋盘边缘。
输出格式
输出第 $i$ 行应该包含一个整数,等于棋盘的字段数与点的奇数。