输出和标准答案一样,但是洛谷显示too short全部WA
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
int n,m,a;
char ch[110],s[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
map<char,int> p;
int qsm(int a,int b){
int ans=1;
while(b){
if(b&1){
ans*=a;
}
b>>=1;
a*=a;
}
return ans;
}
void work(int a){
if(a==0) {
return;
}
work(a/m);
printf("%c",s[a%m]);
}
int main()
{
scanf("%d",&n);
getchar();
gets(ch);
for(int i=0;i<=9;i++)
p[(char)(i+48)]=i;
p['A']=10;p['B']=11;p['C']=12;p['D']=13;p['E']=14;p['F']=15;
int len=strlen(ch);
for(int i=0;i<len;i++){
a+=p[ch[i]]*qsm(n,len-1-i);
}
scanf("%d",&m);
work(a);
return 0;
}