比赛 |
NOIP2015普及组练习 |
评测结果 |
AAAAAA |
题目名称 |
增强的减法问题 |
最终得分 |
100 |
用户昵称 |
落尘 |
运行时间 |
0.010 s |
代码语言 |
C++ |
内存使用 |
0.26 MiB |
提交时间 |
2015-11-05 15:48:23 |
显示代码纯文本
#include <algorithm>
#include <iostream>
#include <fstream>
#include <cstring>
#include <iomanip>
#include <cstdio>
using namespace std;
int N,M,op;
char S[110],T[110];
int NS[310],NT[310],ANS[310];
ifstream fin("sub.in");
ofstream fout("sub.out");
int main(){
fin>>S>>T;
N=strlen(S);M=strlen(T);
if(N<M || (N==M && strcmp(S,T)<0)){
fout<<"-";
swap(S,T);
swap(N,M);
}
reverse(S,S+N);reverse(T,T+M);
for(int i=0;i<N;++i) NS[i]=S[i]-'0';
for(int i=0;i<M;++i) NT[i]=T[i]-'0';
for(int i=0;i<110;++i){
ANS[i]+=NS[i]-NT[i];
if(ANS[i]<0){
ANS[i]+=10;
ANS[i+1]--;
}
}
for(int i=max(N,M)+10;i>=0;--i)
if(ANS[i]){
op=i;
break;
}
for(int i=op;i>=0;--i) fout<<ANS[i];
fout<<endl;
fin.close();
fout.close();
return 0;
}