Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
166949 C班-张腾午 进制数加法 C++ 通过 100 1 MS 260 KB 607 2024-08-19 15:42:13

Tests(6/6):


#include<bits/stdc++.h> using namespace std; const int N=1e5+5; int main() { string a,b,w="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int n,i,k,x[N],y[N]; cin>>n>>a>>b; while(a.size()<b.size()) a='0'+a; while(b.size()<a.size()) b='0'+b; a='0'+a; b='0'+b; for(i=a.size()-1;i>=0;i--) { x[i]=w.find(a[i],0); y[i]=w.find(b[i],0); } for(i=a.size()-1;i>=0;i--) { x[i]=x[i]+y[i]; if(x[i]>=n) for(k=i;x[k]>=n;k--) { x[k]=x[k]-n; x[k-1]++; } a[i]=w[x[i]]; } while(a[0]=='0') a.erase(0,1); cout<<(a.size()==0?"0":a)<<endl; return 0; }


测评信息: