Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Poon

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2025-09-18 21:57:40

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

int main() 
{
  int n;
  cin>>n;
  string a,b;
  cin>>a>>b;
  int x=0,y=0;
  reverse(a.begin(),a.end());
  reverse(b.begin(),b.end());
  for(int k=0;k<a.size();k++)
  {
    int nn;
    switch(a[k])
    {
      case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':
      nn=a[k]-48;
      break;
      default:
      nn=a[k]-55;
    }
    x+=nn*pow(n,k);
  }
  for(int k=0;k<b.size();k++)
  {
    int nn;
    switch(b[k])
    {
      case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':
      nn=b[k]-48;
      break;
      default:
      nn=b[k]-55;
    }
    x+=nn*pow(n,k);
  }
  int sum=x+y;
  vector<char> s;
  int nn=n;
  for(;;)
  {
    if(sum>=n)
    {
      if(sum%n<10)
      {
        s.push_back(sum%n+'0');
      }
      else
      {
        s.push_back(sum%n+'A'-10);
      }
      sum/=n;
    }
    else
    {
      if(sum<10)
      {
        s.push_back(sum%n+'0');
      }
      else
      {
        s.push_back(sum%n+'A'-10);
      }
      break;
    }
  }
  reverse(s.begin(),s.end());
  for(int k=0;k<s.size();k++)
  {
    cout<<s[k];
  }
}