比赛 |
普及组2016模拟练习4 |
评测结果 |
AAAAAAAAAA |
题目名称 |
火星上的加法运算 |
最终得分 |
100 |
用户昵称 |
Lethur |
运行时间 |
0.002 s |
代码语言 |
C++ |
内存使用 |
0.26 MiB |
提交时间 |
2016-11-17 19:22:31 |
显示代码纯文本
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int main()
{
freopen("madition.in","r",stdin);
freopen("madition.out","w",stdout);
const char LIST[36]={'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'};
int i,n,la,lb,a[2000]={0},b[2000]={0};
char ca[2000]={0},cb[2000]={0};
scanf("%d\n%s\n%s\n",&n,&ca,&cb);
la=strlen(ca);
lb=strlen(cb);
for(i=0;i<la;i++)
{
if(ca[i]>='0'&&ca[i]<='9')
a[la-i-1]=ca[i]-'0';
else
a[la-i-1]=ca[i]-'a'+10;
}
for(i=0;i<lb;i++)
{
if(cb[i]>='0'&&cb[i]<='9')
b[lb-i-1]=cb[i]-'0';
else
b[lb-i-1]=cb[i]-'a'+10;
}
if(lb>la)
la=lb;
for(i=0;i<la;i++)
a[i]+=b[i];
for(i=0;i<la;i++)
if(a[i]>=n)
{
a[i]-=n;
a[i+1]+=1;
}
if(a[la]!=0)
la++;
for(i=la-1;i>=0;i--)
printf("%c",LIST[a[i]]);
printf("\n");
fclose(stdin);
fclose(stdout);
return(0);
}