记录编号 157467 评测结果 AAAAAAAAAAA
题目名称 [USACO Jan15] 所有进制 最终得分 100
用户昵称 GravatarSatoshi 是否通过 通过
代码语言 C++ 运行时间 3.943 s
提交时间 2015-04-08 22:50:53 内存使用 0.62 MiB
显示代码纯文本
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("whatbase.in");
ofstream out("whatbase.out");
int n;
class node
{
public:
	int w;
	int s;
}ans[40001];
bool com(node a,node b)
{
	if(a.w>b.w)return 1;
	if(a.w==b.w)
	{
		if(a.s>b.s)return 1;
	}
	return 0;
}
int speed(int a,int b)
{
	int i;
	int sum=1;
	for(i=1;i<=b;i++)sum*=a;
	return sum;
}
int check(int a,int x)
{
	int sum1=0,sum2=0;
	int i,j,k=0;
	//out<<a<<' '<<b<<' '<<x<<' '<<y<<endl;
	while(x!=0)
	{
		sum1+=(x%10)*speed(a,k);
		k++;
		x/=10;
	}
	/*k=0;
	while(y!=0)
	{
		sum2+=(y%10)*speed(b,k);
		k++;
		y/=10;
	}
	if(sum1==sum2)return 1;*/
	return sum1;
}
int main()
{
	int i,j,k,x,y,temp;
	in>>n;
	for(k=1;k<=n;k++)
	{
		in>>x>>y;
		/*if(x<y)
		{
			temp=x;
			x=y;
			y=temp;
		}*/
		for(i=1;i<=30000;i++)ans[i].w=ans[i].s=0;
		for(i=10;i<=15000;i++)
		{
			ans[i-9].w=check(i,x);
			ans[i-9].s=i;
		}
		for(i=10;i<=15000;i++)
		{
			ans[i+15000-9].w=check(i,y);
			ans[i+15000-9].s=i;
		}
		sort(ans+1,ans+30000+1,com);
		for(i=1;i<=30000;i++)
		{
			if(ans[i].w==ans[i+1].w&&ans[i].s!=ans[i+1].s)
			{
				if(x>y)
				{
					out<<ans[i+1].s<<' '<<ans[i].s<<endl;
					break;
				}
				if(x<=y)
				{
					out<<ans[i].s<<' '<<ans[i+1].s<<endl;
					break;
				}
				//return 0;
			}
		}
	}
	return 0;
}