結果
問題 | No.2323 Nafmo、A+Bをする |
ユーザー | p3lover |
提出日時 | 2023-05-28 13:48:58 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,038 bytes |
コンパイル時間 | 947 ms |
コンパイル使用メモリ | 71,456 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-26 21:58:14 |
合計ジャッジ時間 | 1,852 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <iostream> #include <string> #include <cmath> #define rep(i,j,n) for(int i=j;i<n;i++) using ll = long long; using namespace std; //vector<int> DX={0,1,0,-1,0,1,-1,-1,1}; //vector<int> DY={0,0,1,0,-1,1,1,-1,-1}; int toten(const string& ans) { int nans = 0; int size = ans.size(); for (int i = 0; i < size; ++i) { if (ans[i] == '1') { int plus = size - i - 1; nans += pow(2, plus); } } return nans; } int main(){ string A,B; cin >> A >> B; string ans; bool upto=false; int N=A.size(),N2=B.size(); while(N<N2){ A='0' + A; N++; } while(N>N2){ B='0' + B; N2++; } rep(i,0,N){ if(!upto){ int k=(A[i]-'0'+B[i]-'0')%2; if(k==0)continue; else { ans+=(k+'0'); upto=true; } } else { int k=(A[i]-'0'+B[i]-'0')%2; ans+=(k+'0'); } } cout << toten(ans) << endl; }