#include<bits/stdc++.h>
using namespace std;
int k,flag,yyf,QWQ,l,r,AWA,i,t,zishu;
int whatbase(char a[],int n)
{
zishu=strlen(a);
AWA=0;
for(int i=0; i<zishu; i++){
if(a[i]>='0'&&a[i]<='9') t=a[i]-'0';
else if (n>=11&&(a[i]>='A'+n-10)) t=a[i]-'A'+10;
AWA=AWA*n+t;
}
return AWA;
}
int main()
{
char x[1001],y[1001];
cin>>k;
while(k!=0)
{
k--;
cin>>x>>y;
for(int i=10; i<=15000; i++)
{
yyf=whatbase(x,i);
l=10,r=15000;
while(l<=r)
{
int mid=(l+r)/2;
QWQ=whatbase(y,mid);
if(QWQ==yyf){cout<<i<<" "<<mid<<endl; break;}
else
if(QWQ<yyf)
l=mid+1;
else
r=mid-1;
}
if(yyf==QWQ) break;
}
}
}
这些代码有人可以解释一下吗,蒟蒻看不懂,这是我们线下集训的题目