Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: him

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2025-09-17 21:45:06

#include <bits/stdc++.h>
using namespace std;

int main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int a;cin>>a;
	string b,c;cin>>b>>c;
	reverse(b.begin(),b.end());
	reverse(c.begin(),c.end());
	long long int sumb=0;
	long long int pb=1;
	long long int sumc=0;
	long long int pc=1;
	for(int i=0;i<b.size();i++){
		if(b[i]>='A' && b[i]<='Z'){
			sumb=sumb+pb*(b[i]-'A'+10);
				pb=pb*a;
			}
		else{
			sumb=sumb+pb*(b[i]-'0');
			pb=pb*a;
		}
	
		}
	for(int i=0;i<c.size();i++){
		if(c[i]>='A'&&c[i]<='Z'){
			sumc+=pc*(c[i]-'A'+10);
			pc=pc*a;
		}
		else{
			sumc+=pc*(c[i]-'0');
			pc=pc*a;
		}
	}
//	cout<<sumb<<'\n'<<sumc;
	int d=sumc+sumb;
//	cout<<d;
	int r;
	string s;
	while(d>=a){
		r=d%a;
		if(r<10) s+=r+'0';
		else s+=r-10+'A';
		d=d/a;
	}
	r=d;
	s+='0'+r;
//	cout<<s;
	reverse(s.begin(),s.end());
	for(auto e:s){
		cout<<e;
	}
	return 0;
}