比赛 普及组2016模拟练习4 评测结果 AAAAAAAAAA
题目名称 火星上的加法运算 最终得分 100
用户昵称 DEFCON 运行时间 0.033 s
代码语言 C++ 内存使用 0.25 MiB
提交时间 2016-11-17 19:37:07
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char t[205];
int a[205],b[205],c[205];
int main()
{
	freopen("madition.in","r",stdin);
	freopen("madition.out","w",stdout);
	ios::sync_with_stdio(0);
	int n,i;
	char ch;
	cin>>n;
	cin>>t;
	int lena=strlen(t);
	for(i=1;i<=lena;i++)
	{
		if(t[lena-i]>='0'&&t[lena-i]<='9')
		a[i]=t[lena-i]-'0';
		else a[i]=t[lena-i]-'a'+10;
	}
	cin>>t;
	int lenb=strlen(t);
	for(i=1;i<=lenb;i++)
	{
		if(t[lenb-i]>='0'&&t[lenb-i]<='9')
		b[i]=t[lenb-i]-'0';
		else b[i]=t[lenb-i]-'a'+10;
	}
	int len=max(lena,lenb);
	for(i=1;i<=len;i++)
	{
		c[i]+=a[i]+b[i];
		if(c[i]>=n)
		{
			if(i==len)
			len++;
			c[i]-=n;
			c[i+1]++;
		}
	}
	for(i=len;i>=1;i--)
	{
		if(c[i]<10)
		cout<<c[i];
		else
		{
			ch=c[i]+'a'-10;
			cout<<ch;
		}
	}
	cout<<endl;
	fclose(stdin);
	fclose(stdout);
	return 0;
}