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

Задача . A. Прибавить нечетное или вычесть четное


Вам дано два положительных целых числа \(a\) и \(b\).

За один ход вы можете изменить \(a\) следующим образом:

  • Выбрать любое положительное нечетное целое число \(x\) (\(x > 0\)) и заменить \(a\) на \(a+x\);
  • выбрать любое положительное четное целое число \(y\) (\(y > 0\)) и заменить \(a\) на \(a-y\).

Вы можете применить любое количество таких операций. Вы можете использовать одинаковые значение \(x\) и \(y\) в различных ходах.

Ваша задача — найти минимальное число ходов, необходимое, чтобы получить \(b\) из \(a\). Гарантируется, что вы всегда можете получить \(b\) из \(a\).

Вам требуется ответить на \(t\) независимых наборов входных данных.

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

Первая строка теста содержит одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных.

Затем следуют \(t\) наборов входных данных. Каждый набор представлен в виде двух целых чисел \(a\) и \(b\), разделенных пробелом (\(1 \le a, b \le 10^9\)).

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

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

Примечание

В первом наборе входных данных можно просто добавить \(1\).

Во втором наборе входных данных ничего делать не нужно.

В третьем наборе входных данных можно добавить \(1\) дважды.

В четвертом наборе входных данных можно вычесть \(4\) и добавить \(1\).

В пятом наборе входных данных можно просто вычесть \(6\).


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

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

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