三维弹球c++求解
描述
三维弹球是许多人的童年。在本题中,你需要模拟三维弹球的运动,并报告它的位置。
为了简便起见,我们认为地图是一个大小为 n×m 的长方形,由 n⋅m 个小正方形组成。左下角的小正方形坐标为 (0,0),右上角的小正方形坐标为 (n−1,m−1)。而弹球最初位于 (0,0) 处的小正方形中。
游戏进行时,弹球首先会向右上方 45∘ 度方向直线运动,一秒后移动到 (1,1),两秒后移动到 (2,2)……
当弹球遇到地图边界时,会发生完全弹性碰撞,继续沿新的方向运动。
你需要快速计算:当弹球运动 s 秒后,它所处的小正方形坐标。
输入描述
输入由多组数据构成。
第一行一个正整数 T,表示共有 T 组数据。
对于每组数据,有一行三个空格分隔的正整数 n,m,s。
输出描述
对于每组数据,输出一行两个空格分隔的非负整数 x 和 y,表示弹球的最终坐标。
用例输入 1
2 5 3 3 3 3 3
用例输出 1
3 1 1 1
提示
样例解释 1
对于第一组样例,弹球移动的轨迹为 (0,0)→(1,1)→(2,2)→(3,1)。
对于第二组样例,弹球移动的轨迹为 (0,0)→(1,1)→(2,2)→(1,1)。