| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
0MS-G++#include <stdio.h>
#include <string.h>
const int L=1001;
const char need[62]={
'0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F','G','H','I','J',
'K','L','M','N','O','P','Q','R','S','T',
'U','V','W','X','Y','Z','a','b','c','d',
'e','f','g','h','i','j','k','l','m','n',
'o','p','q','r','s','t','u','v','w','x',
'y','z'};
char a[L],b[L];
short t,n,m,len;
void solve(void){
int s,start,ans=0;
bool sign;
while (len>0){
start=0,sign=false,s=0;
for (int i=1;i<=len;i++){
s=(s*n+a[i]);
if (s>=m)sign=true;
if (sign)a[++start]=s/m;
s%=m;
//printf ("s:%d\n",s);
}
b[++ans]=s;
len=start;
}
for (int i=ans;i>=1;i--)printf ("%c",need[b[i]]);
}
int main(void){
freopen ("1220.in","r",stdin);
freopen ("1220.out","w",stdout);
scanf ("%d",&t);
for (int i=1;i<=t;i++){
scanf ("%d%d%s",&n,&m,b+1);
printf ("%d %s\n%d ",n,b+1,m);fflush(stdout);
len=strlen (b+1);
for (int i=1;i<=len;i++)
if (b[i]>='0'&&b[i]<='9')a[i]=b[i]-'0';
else if (b[i]>='A'&&b[i]<='Z')a[i]=b[i]-55;
else a[i]=b[i]-61;
solve();
printf ("\n\n");
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator