1 条题解
-
0
#include <bits/stdc++.h> using namespace std; bool cmp(vector<int> &A,vector<int> &B) { if(A.size()!=B.size()) return A.size()>B.size(); for(int i = A.size()-1;i>0;i--) { if(A[i] != B[i]) return A[i]>B[i]; } return true; } vector<int> sub(vector<int>&A,vector<int>&B) { vector<int> c; int t = 0; for(int i = 0;i<A.size();i++) { t = A[i]-t; if(i<B.size()) t -= B[i]; c.push_back((t+10)%10); if(t<0) t = 1; else t = 0; } while(c.size()>1&&c.back() == 0) c.pop_back(); return c; } int main() { string a,b; vector<int> A,B; cin >> a >> b; for(int i = a.size()-1;i>=0;i--)A.push_back(a[i]-'0'); for(int i = b.size()-1;i>=0;i--)B.push_back(b[i]-'0'); vector<int>arr; if(cmp(A,B)) arr = sub(A,B); else {arr = sub(B,A);cout<<"-" ;} for(int i = arr.size()-1;i>=0;--i) cout<<arr[i]; return 0; }
信息
- ID
- 6190
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 112
- 已通过
- 30
- 上传者