题目十一
A. Robot Cleaner
[原题链接]
题目链接
[题目翻译]
一个扫地机器人被放置在一个矩形房间的地板上,绕着墙壁。地板由n行和m列组成,地板上的行被1到n从头到尾标记,地板上的列被1到m从左到右标记。对于第r行和第c列每个路口的单元格表示(r,c)。机器人最初的位置为(rb,cb)。 在某一秒,这个机器人移动到了dr行和dc列,也就是,在这一秒之后,机器人从单元格 (r,c)到(r+dr,c+dc)。最初dr=1 , dc=1。如果这里有一面垂直的墙(左边或者右边的墙壁)在运动的方向上。dc在行动之前就被反射,这样的话dc新的值就是-dc。如果这里有一面水平的墙(上面或下面的墙),dr在行动之前就会被反射,所以dr的新值就是-dr。 每一秒(包含机器人行动之前的时刻),机器人打扫所在位置的相同行或相同列的每一个单元格,这里只有一个脏的单元格(rd,cd)。机器人的工作就是打扫这一个脏的单元格。 给出地板的大小n和m,机器人最初的位置(rb,cb),脏的单元格位置(rd,cd),找到机器人做这项工作的时间。
[输入]
每一个测试小组包含多组测试。第一行包含测试组数t (1≤t≤10e4),测试用例的描述如下。
每个测试组数由仅有的一行组成,包含六个整数n , m, rb, cb, rd, 和cd (1≤n,m≤100, 1≤rb,rd≤n, 1≤cb,cd≤m)—表示房间的大小,机器人最初的位置和脏的地方的位置。
[输出]
对于每一组测试用例,打印出一个整数—机器人打扫脏的地方的时间。我们可以知道的是机器人最终一定会打扫这个脏的单元格。
|