E 模拟 B站讲解https://www.bilibili.com/video/BV1GT4y1M78d?p=3
#include<bits/stdc++.h> using namespace std; typedef long long ll; //typedef __int128 INT; typedef double db; typedef vector<int> vii; typedef vector<ll> vll; typedef pair<int,int> PII; #define so sizeof #define pb push_back #define pf push_front #define ppb pop_back #define ppf pop_front #define fi first #define se second #define mp make_pair #define ub upper_bound const db esp=1e-5; const int N=2e5+10,M=2e5+10,Max=500,inf=0x3f3f3f3f,mod=998244353; const ll INF=0x3f3f3f3f3f3f3f3f; string a,b; vii res; void work(){ cin>>a>>b; reverse(a.begin(),a.end()); reverse(b.begin(),b.end()); for(int i=0;;i++){ if(i>=a.size()){ for(;i<b.size();i++) res.pb(b[i]-'0'); break; }else if(i>=b.size()){ for(;i<a.size();i++) res.pb(a[i]-'0'); break; } int t=(a[i]-'0')+(b[i]-'0'); t%=10; res.pb(t); } while(res.back()==0&&res.size()) res.ppb(); reverse(res.begin(),res.end()); if(res.size()==0){ puts("0"); return ; } for(auto i:res) cout<<i; return ; } int main(){ work(); return 0; }