Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
337612 | 钟宜辰 | 【C6-4】高精度减法 | C++ | 解答错误 | 9 | 2 MS | 264 KB | 782 | 2025-08-04 10:33:24 |
#include<bits/stdc++.h> using namespace std; string a,b; int x,y,cnt[250],cnt1[250],l,sum[250]; void d(){ for(int i=0;i<l;i++){ if(cnt[i]<cnt1[i]){ cnt1[i]--; cnt[i]++; } sum[i]=cnt[i]-cnt1[i]; } while(l!=0&&sum[l]==0) l--; return; } bool c(string s1,string s2){ if(x>y) return 0; if(x<y) return 1; for(int i=0;i<l;i++){ if(s1[i]<s2[i]) return 1; if(s1[i]>s2[i]) return 0; } return 0; } int main(){ cin>>a>>b; x=a.size(); y=b.size(); l=max(x,y); if(c(a,b)){ cout<<"-"; swap(a,b); swap(x,y); } for(int i=0;i<x;i++){ cnt[x-1-i]=a[i]-'0'; } for(int i=0;i<y;i++){ cnt1[y-1-i]=b[i]-'0'; } d(); for(int i=l;i>=0;i--){ cout<<sum[i]; } return 0; }