2019.2.10 Problem C - ray
题目描述
在平面直角坐标系(右手系)中有一个矩形,矩形左下角的坐标为\((0,0)\),右上角坐标为\((n,m)\),矩形的边与坐标轴平行(题目中出现的所有坐标值均为非负整数,下同)。
在\((0,0)\)位置有一个激光发生器,在0时刻朝右上方发射了速度为\(\sqrt{2}\)单位长度/秒的激光(也就是说,每秒钟x与y坐标均变化1单位长度)。当激光碰到矩形的边的时候,它会如图发生反射(运动方向沿矩形的边翻折)。如果激光碰到了矩形的角,它会立即停止。
有\(k\)个感应器位于这个矩形内部(不含边界),第\(i\)个的坐标为\((x_i,y_i)\)。现在,对于每个感应器,你需要求出它第一次被激光经过是在什么时候。
输入格式
第一行三个整数\(n,m,k\);
接下来\(k\)行,每行两个整数\(x_i, y_i\),依次表示每个感应器的坐标。
输出格式
输出\(k\)行,每行一个整数,依次表示每个感应器第一次被经过的时刻。如果这个感应器不会被经过,则输出-1。
样例1
输入
7 4 5
1 3
2 2
5 1
5 3
4 3
输出
13
2
9
5
-1
样例2
输入
3 4 6
1 1
2 1
1 2
2 2
1 3
2 3
输出
1
-1
-1
2
5
-1
数据规模、时空限制
对于30%的数据,\(n,m,k \leq 100\)
对于60%的数据,\(n,m,k \leq 3000\)
对于100%的数据,\(n,m,k \leq 100000, \quad 1 \leq x_i \leq n-1, \quad 1 \leq y_i \leq m-1\)
时间限制1s,空间限制512MB。
来源
2019.2 TYWZ提高组集训
供题人:于剑
相关
在下列比赛中: