CF1488A.From Zero To Y

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

From Zero To Y

你会得到两个正整数(大于零)xx和yy。有一个变量kk初始设置为00。

你可以执行以下两种操作:

  • 向kk添加11(即赋值k:=k+1k := k + 1);
  • 在kk中加上x⋅10px \cdot 10^{p},表示某些非负pp(即为某个p≥0p \ge 0赋值k:=k+x⋅10pk := k + x \cdot 10^{p})。

找到上述最小操作次数,将kk值设为yy。

输入

第一行包含一个整数tt(1≤t≤2⋅1041 \le t \le 2 \cdot 10^4)——测试用例的数量。

每个测试用例由一行包含两个整数xx和yy(1≤x,y≤1091 \le x, y \le 10^9)组成。

输出

每个测试用例打印一个整数——将kk值设置为yy的最小操作次数。

注释

在第一个测试中,你可以使用以下操作序列:

  1. 添加11;
  2. 加2⋅100=22 \cdot 10^0 = 2;
  3. 加2⋅100=22 \cdot 10^0 = 2;
  4. 添加2⋅100=22 \cdot 10^0 = 2。

1+2+2+2=71 + 2 + 2 + 2 = 7。

在第二个测试用例中,你可以使用以下操作序列:

  1. 加3⋅101=303 \cdot 10^1 = 30;
  2. 加3⋅100=33 \cdot 10^0 = 3;
  3. 加3⋅100=33 \cdot 10^0 = 3;
  4. 加3⋅100=33 \cdot 10^0 = 3;
  5. 添加3⋅100=33 \cdot 10^0 = 3。

30+3+3+3+3=4230 + 3 + 3 + 3 + 3 = 42。

样例

3
2 7
3 42
25 1337
4
5
20

在线编程 IDE

建议全屏模式获得最佳体验