比赛 |
NOIP2015普及组练习 |
评测结果 |
AAAAAA |
题目名称 |
增强的减法问题 |
最终得分 |
100 |
用户昵称 |
Arrow |
运行时间 |
0.010 s |
代码语言 |
C++ |
内存使用 |
0.26 MiB |
提交时间 |
2015-11-05 21:37:58 |
显示代码纯文本
#include<fstream>
#include<string>
using namespace std;
int main()
{
ifstream fin("sub.in");
ofstream fout("sub.out");
int f=0,m=0,la=0,lb=0,xa=0,xb=0;
int x[100]={0},y[101]={0},ans[101]={0};
string a,b,c;
fin>>a>>b;//fout<<a<<endl<<b<<endl;
if(a==b){
fout<<0;return 0;}
if(b>a&&a.length()<=b.length()){
c=a;
a=b;
b=c;f=1;}
la=a.length();
lb=b.length();
if(lb>la)
m=lb;
else m=la;//fout<<m<<endl
for(int i=la-1;i>=0;i--){
x[xa]=a[i]-'0';
//fout<<x[xa]<<' ';
xa++;}
//fout<<endl;
for(int i=lb-1;i>=0;i--){
y[xb]=b[i]-'0';
//fout<<y[xb]<<' ';
xb++;}
for(int i=0;i<m;i++){
if(x[i]<y[i]){
x[i+1]-=1;
x[i]+=10;}
ans[i]=x[i]-y[i];}
if(f==1)
fout<<'-';
m=m-1;
while(m>0&&ans[m]==0){
m--;}
for(int i=m;i>=0;i--){
fout<<ans[i];}
fin.close();
fout.close();
return 0;
}