結果

問題 No.2086 A+B問題
ユーザー sk10271879sk10271879
提出日時 2022-09-30 21:46:15
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 2,831 bytes
コンパイル時間 1,845 ms
コンパイル使用メモリ 196,648 KB
最終ジャッジ日時 2025-02-07 19:21:09
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include<bits/stdc++.h>
using namespace std; using ll=long long; using Pa=pair<ll,ll>; using Vll=vector<ll>; using VVll=vector<Vll>; using Vb=vector<bool>; using VVb=vector
    <vector<bool>>; using Vs=vector<string>; using VVs =vector<vector<string>>; using Vc=vector<char>; using VVc =vector<vector<char>>; const ll MOD
    =1000000007; const ll INF=(ll)1<<60;// 10^18 < 1<<60 = 1152921504606846976 // VVll G(N+1,Vll(0)); // vector<Pa> event; event.emplace_back(a,b);
    // oi: OI: OIV:1vector OIVV:2vector
template<class t,class u> bool chmax(t&a,u b){if(a<b){a=b; return true;} else{return false;}}template<class t,class u> bool chmin(t&a,u b){if(b<a){a=b
    ; return true;} else{return false;}} void oi(){}template<class Head, class... Tail>void oi(Head&& head,Tail&&... tail){if(sizeof...(tail)!=0){cerr
    <<head<<" ";} else{cerr<<head<<"\n";}oi(move(tail)...);} void OI(){}template<class Head, class... Tail>void OI(Head&& head,Tail&&... tail){if
    (sizeof...(tail)!=0){cout<<head<<" ";} else{cout<<head<<"\n";}OI(move(tail)...);} void OIV(){}template<typename T> void OIV(T &a){if(a.empty
    ()){cout<<"\n"; return;} for(ll i00=0;i00<(a).size();i00++){if(a[i00]==(ll)1<<60){cout<<"I";} else{cout<<a[i00];} if(i00==(a).size()-1){cout<<"\n"
    ;} else{cout<<" ";}}} void OIVV(){}template<typename T> void OIVV(T &a){if(a.empty()){cout<<"\n"; return;} for(ll i00=0;i00<(a).size();i00++){for
    (ll j00=0;j00<(a[i00]).size();j00++){if(a[i00][j00]==(ll)1<<60){cout<<"I";} else{cout<<a[i00][j00];} if(j00==(a[i00]).size()-1){cout<<"\n";}
    else{cout<<" ";}}}}
#define FOR(i,a,b) for(ll i=(ll)(a); i<(ll)(b); i++)// a ~ b-1 i++
#define ALL(a) (a).begin(),(a).end()// printf("%8.10lf\n",(ans));
int main(){
string A,B; cin>>A>>B;
if(A.size()<B.size()) swap(A,B);// A
reverse(ALL(A));
reverse(ALL(B));
//oi(A);
//oi(B);
string ans;
bool kuriage=false;
FOR(i,0,A.size()){
ll a=A[i]-'0';
if(i<B.size()){
ll b=B[i]-'0';
ll c=0;
if(kuriage) c=1;
if(a+b+c<10){
char d='0'+(a+b+c);
ans+=d;
kuriage=false;
}
else{
ll d=(a+b+c)%10;
char e='0'+d;
ans+=e;
kuriage=true;
}
}
else{
ll d;
if(kuriage) d=a+1;
else d=a;
if(d<10){
char e='0'+d;
ans+=e;
kuriage=false;
}
else{
d%=10;
char e='0'+d;
ans+=e;
kuriage=true;
}
}
}
if(kuriage) ans+='1';
reverse(ALL(ans));
OI(ans);
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0