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

Задача . A. От нуля до Y


Вам даны два положительных (больше нуля) целых числа \(x\) и \(y\). Также у вас есть переменная \(k\), изначально равная \(0\).

Вы можете выполнять следующие два типа операций:

  • увеличить \(k\) на \(1\) (т. е. присвоить \(k := k + 1\));
  • увеличить \(k\) на \(x \cdot 10^{p}\) для некоторого неотрицательного \(p\) (т. е. присвоить \(k := k + x \cdot 10^{p}\) для \(p \ge 0\)).

Найдите минимальное количество операций, описанных выше, чтобы значение \(k\) стало равно \(y\).

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

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

Каждый набор входных данных состоит из одной строки, содержащей два целых числа \(x\) и \(y\) (\(1 \le x, y \le 10^9\)).

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

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

Примечание

В первом примере можно использовать следующую последовательность операций:

  1. прибавить \(1\);
  2. прибавить \(2 \cdot 10^0 = 2\);
  3. прибавить \(2 \cdot 10^0 = 2\);
  4. прибавить \(2 \cdot 10^0 = 2\).
\(1 + 2 + 2 + 2 = 7\).

Во втором примере можно использовать следующую последовательность операций:

  1. прибавить \(3 \cdot 10^1 = 30\);
  2. прибавить \(3 \cdot 10^0 = 3\);
  3. прибавить \(3 \cdot 10^0 = 3\);
  4. прибавить \(3 \cdot 10^0 = 3\);
  5. прибавить \(3 \cdot 10^0 = 3\).
\(30 + 3 + 3 + 3 + 3 = 42\).

Примеры
Входные данныеВыходные данные
1 3
2 7
3 42
25 1337
4
5
20

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

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