U736569 D - 琪露诺的完美算术教室

题目背景

大家~ 琪露诺的算术教室开始哟!! 要以像我一样的天才为目标!! 努力奋斗哦!!! 如同华丽丽的钻石和 像闪耀的星星一样 荣耀 第一志愿 什么都能搞定 天才 秀才 以顶端为目标 GO! GO!~~ 笨蛋笨蛋~ 笨蛋笨蛋~笨蛋笨蛋 等等 才不是 我才不是笨蛋呢! 笨蛋笨蛋~ 笨蛋笨蛋~ 笨蛋笨蛋 说别人笨蛋的自己才是笨蛋!! 笨蛋笨蛋~ 笨蛋笨蛋~ 笨蛋笨蛋 什么啊!吵死了!你个笨蛋!!! 笨蛋笨蛋~ 笨蛋笨蛋~

题目描述

琪露诺觉得,想成为真正的天才,首先必须掌握最厉害的算术能力! 于是,她准备了一道神秘的数学挑战。 现在给出两个整数 $a,b$。 琪露诺可以进行以下两种操作: 1. 选择其中一个整数,使它增加 $1$。 2. 选择其中一个整数,将它除以 $9$ 并向下取整。 也就是说,如果选择数字 $a$ 进行第二种操作,则会变成: $$ a\leftarrow \left\lfloor\frac{a}{9}\right\rfloor $$ 琪露诺希望通过尽可能少的操作,使得两个数字最终变得相等。 请你计算,至少需要多少次操作才能完成这个目标。

输入格式

第一行输入一个整数 $T$,表示测试数据组数。 接下来 $T$ 行,每行输入两个整数 $a,b$,表示初始的两个数字。

输出格式

对于每组测试数据,输出一行一个整数,表示使 $a$ 和 $b$ 相等所需的最少操作次数。

说明/提示

#### **数据范围** 对于所有测试数据,保证: $$ 1\le T\le10^4 $$ $$ 1\le a,b\le10^9 $$ 详细的子任务限制如下: | 子任务 | 分值 | 特殊性质 | | :-: | :--: | :---- | | 1 | 20 分 | $a=b$ | | 2 | 20 分 | $a,b\le10$ | | 3 | 60 分 | 无特殊限制 | #### **注意事项** 本题为多组测试数据,请注意读入第一行的测试组数 $T$。 推荐使用如下代码框架: ``` #include using namespace std; void solve() { } int main() { int T; cin >> T; while(T--) { solve(); } }