#P7407. 绝佳机会
绝佳机会
Problem Description
最近,M 迷上了打台球,他前几天被 L 爆杀了,现在正在苦练翻袋,他认为空心翻袋才是最牛的。
台球桌是一个 $n\times m$ 的矩形(保证 $n$ 是偶数),其左上角位于坐标 $(0,0)$ 处,右下角位于坐标 $(n,m)$ 处。台球桌边缘有六个袋口,分别位于坐标 $(0,0)$、$(0,m)$、$(\frac n 2,0)$、$(\frac n 2,m)$、$(n,0)$ 和 $(n,m)$ 处。
此刻,台面上仅剩下一颗白球和一颗黑球,白球位于坐标 $(x_1,y_1)$ 的位置,黑球位于坐标 $(x_2,y_2)$ 的位置,保证白球和黑球位置不同且都不位于台球桌边缘。M 觉得这是个绝佳的机会,他用尽全力将白球对心击向黑球,此后黑球会沿连线方向运动(后续白球的运动情况忽略)。台球和袋口的体积忽略不计,一旦台球和袋口坐标重合将会直接入袋。台球碰到台球桌边缘将会沿镜面反射方向继续运动。
由于这是一次全力以赴的击打,黑球进入袋口前将不会停下,M 想知道黑球最终会经过几次反弹后进入哪个袋口,请输出反弹次数和入袋坐标。如果黑球永远无法入袋,请输出 $-1$。
Input
测试点包含多组数据。第一行包含一个整数 $T$($1\leq T\leq5\times10^4$),表示数据组数。每组数据输入格式如下:
第一行包含两个整数 $n$ 和 $m$ ($20 \leq n,m\leq 10^6$,保证 $n$ 是偶数),分别表示台球桌的长和宽。
第二行包含两个整数 $x_1$ 和 $y_1$($0 < x_1 < n,0 < y_1 < m$),表示白球的位置。
第三行包含两个整数 $x_2$ 和 $y_2$($0 < x_2 < n,0 < y_2 < m$),表示黑球的位置。
保证白球和黑球位置不同。
Output
每组数据包含一行,如果黑球能入袋,输出三个整数,表示反弹次数和入袋坐标,否则输出 $-1$。
2
60 30
50 20
40 10
58 41
5 29
38 29
0 30 0
-1
Hint
样例共有两组数据:
第一组数据,黑球会直接进入位于 $(30,0)$ 的袋口。
第二组数据,可以证明黑球永远无法入袋。