记录编号 164137 评测结果 AAAAAAAAAA
题目名称 [HEOI 2015]定价 最终得分 100
用户昵称 Gravatar落尘 是否通过 通过
代码语言 C++ 运行时间 0.010 s
提交时间 2015-05-28 17:50:40 内存使用 0.31 MiB
显示代码纯文本
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <cstring>
#include <cstddef>
#include <string>
#include <cstdio>
#include <vector>
#include <deque>
#include <cmath>
#include <set>
#include <map>
#define LL long long int
#define MAXN 100100
using namespace std;
LL qread()
{
	LL num=0;
	char a=getchar();
	while(a<'0' || a>'9')
		a=getchar();
	while(a>='0' && a<='9')
		num=num*10+a-'0',a=getchar();
	return num;
}
LL power(LL a,LL b)
{
	if(b==0)
		return 1;
	LL ans=a;
	for(LL i=1;i<=b-1;++i)
		ans*=a;
	return ans;
}
LL ql(LL a)
{
	while(1)
	{
		if(a%10!=0)
			break;
		a/=10;
	}
	return a;
}
LL qz(LL a)
{
	LL b=a%10,i=0;
	while(1)
	{
		i++;
		a/=10;
		if(a==0)
			break;
	}
	if(b==5)
		return 2*i-1;
	return 2*i;
}

void init()
{
	LL L=qread(),R=qread();
	if(L>R)
		swap(L,R);
	LL minn=0x7fffffff,op;
	if(R-L<=100)
	{
		for(LL i=L;i<=R;++i)
			if(minn>qz(ql(i)))
				minn=qz(ql(i)),op=i;
		cout<<op<<endl;
		return;
	}
	else
	{
		int s,t,ST=L;
		for(t=10;t>=0;--t)
			if(L%power(10,t)==0)
				break;
		s=ST/power(10,t);
		while(1)
		{
			ST=s*power(10,t);
			if(ST>R)
				break;
			if(minn>qz(ql(ST)))
			{
				minn=qz(ql(ST));
				op=ST;
			}
			s++;
			if(s%10==0)
			{
				ST=s*power(10,t);
				for(t=10;t>=0;--t)
					if(ST%power(10,t)==0)
						break;
				s=ST/power(10,t);
			}
		}
		cout<<op<<endl;
		return;
	}
}

int main()
{
	freopen("absurd.in","r",stdin);
	freopen("absurd.out","w",stdout);
	LL t=qread();
	while(t--)
		init();
	fclose(stdin);
	fclose(stdout);
	return 0;
}