记录编号 |
33246 |
评测结果 |
AAAAAAAAAA |
题目名称 |
火星上的加法运算 |
最终得分 |
100 |
用户昵称 |
Truth.Cirno |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2011-11-09 20:40:57 |
内存使用 |
0.26 MiB |
显示代码纯文本
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
int main(void)
{
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// if (ca[i]>='a'&&ca[i]<='z')
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// if (cb[i]>='a'&&cb[i]<='z')
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);
}