Олимпиадный тренинг

Задача . A. Робот-пылесос


Робот-пылесос находится на полу прямоугольной комнаты, ограниченной стенами. Пол можно представить как таблицу из \(n\) строк и \(m\) столбцов. Строки пола пронумерованы от \(1\) до \(n\) сверху вниз, а столбцы пронумерованы от \(1\) до \(m\) слева направо. Клетка на пересечении \(r\)-й строки и \(c\)-го столбца обозначается \((r,c)\). Изначально робот находится в клетке \((r_b, c_b)\).

Каждую секунду робот двигается на \(dr\) строк и \(dc\) столбцов, то за секунду робот передвигается из клетки \((r, c)\) в \((r + dr, c + dc)\). Изначально \(dr = 1\), \(dc = 1\). Если в направлении движения робота находится вертикальная стена (левая или правая), \(dc\) отражается перед движением, новое значение \(dc\) становится \(-dc\). Также, если в направлении движения робота находится горизонтальная стена (верхняя или нижняя), \(dr\) отражается перед движением, новое значение \(dr\) становится \(-dr\).

В начале каждой секунды (в том числе перед первым движением робота) робот очищает все клетки, лежащие в той же строке или в том же столбце, что и робот. В комнате лишь одна грязная клетка \((r_d, c_d)\). Задача робота — очистить эту грязную клетку.

Иллюстрация к первому примеру. Робот обозначен голубой дугой. Красной звездой обозначена грязная клетка. Каждую секунду робот очищает строку и столбец, что показано желтыми линиями.

По данному размеру пола \(n\) и \(m\), начальной позиции робота \((r_b, c_b)\) и позиции грязной клетки \((r_d, c_d)\) найдите, через какое время робот выполнит задачу.

Входные данные

Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Далее следуют наборы входных данных.

Каждый набор входных данных описывается в одной строке шестью целыми числами \(n\), \(m\), \(r_b\), \(c_b\), \(r_d\) и \(c_d\) (\(1 \le n, m \le 100\), \(1 \le r_b, r_d \le n\), \(1 \le c_b, c_d \le m\)) — размерами комнаты, начальной позицией робота и позицией грязной клетки.

Выходные данные

Для каждого набора входных данных выведите одно целое число — время, необходимое роботу для очистки грязной клетки. Можно показать, что робот всегда очистит грязную клетку за конечное время.

Примечание

В первом примере размер пола равен \(10\times 10\). Начальная позиция робота \((6, 1)\), грязная клетка — \((2, 8)\). Иллюстрация к этому примеру находится в условии задачи.

Во втором примере пол такой же, но начальная позиция робота \((9, 9)\), а грязная клетка — \((1, 1)\). В этом примере робот дойдет точно до грязной клетки и очистит ее.

В третьем примере пол имеет размеры \(9 \times 8\). Начальная позиция робота \((5, 6)\), грязная клетка \((2, 1)\).

В четвертом примере пол имеет размеры \(6 \times 9\). Начальная позиция робота \((2, 2)\), грязная клетка \((5, 8)\).

В последнем примере робот изначально в том же столбце, что и грязная клетка, поэтому он ее сразу очистит.


Примеры
Входные данныеВыходные данные
1 5
10 10 6 1 2 8
10 10 9 9 1 1
9 8 5 6 2 1
6 9 2 2 5 8
2 2 1 1 2 1
7
10
9
3
0

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя