迷茫中选择
题目概述
- 时间限制:1s
- 空间限制:512MB
题目描述
可是走着走着
曾经的同伴们似乎变了模样
就连我自己
也变了模样
突然的陌生感让我恐惧
更让我恐惧的
是这个世界
似乎变得越来越疯狂
我困惑,而又无助
是继续在潮流中沉溺
还是......什么?
随着一个个尘埃组织的发展,许多组织的尘埃数都渐渐趋近了某个值。
突然,星云发现,这些团体的大小似乎故意不是10的整倍数,他们很喜欢用数字9做结尾,比如999,1999,56999...
这些9自然不如1000,2000,57000更舒服,星云认为过多的9加剧了自身的混乱程度,而根据热力学第二定律,熵增是无法避免的,如果一再放任这混乱,星云可能最终演变为热寂,再无生命可能。
于是,星云急需要做些什么,尘埃团的混乱程度通过下述代码得到:
int s[10];
int calc(int x){
for(int i=0;i<10;i++)s[i]=0;
int r=0;
while(x>0){
s[++r]=x%10;
x/=10;
}
int p=1;
while(s[p]==0 && p<r)p++;
int len=r-p+1;
if(s[p]==5)return len*2-1;
else return len*2;
}
设尘埃团由x个尘埃组成,则其混乱程度=calc(x)
例如,950 的混乱程度为 3,而 970 则为 4,99999 的混乱程度为 10。
现在星云知道了所有尘埃团的混乱度在区间[L,R]中,他想在区间[L,R]中找到一个混乱度最小的数,把所有的尘埃团调整成那个数,现在请你找出这个数。
输入
第一行 一个正整数 T,表示询问的区间数目。
接下来T行 每行包含两个正整数 l,r,表示混乱度属于的区间。
输出
每个询问,输出一行,表示你的答案。如果混乱度最小的数不唯一,请输出最小的那个。
样例
输入
3
4000 6000
998 2002
998 1002
输出
5000
1000
1000
数据范围
\(T \le 100,1 \le l \le r \le 10^9\).
相关
在下列比赛中: