记录编号 |
453005 |
评测结果 |
AAAAAA |
题目名称 |
增强的减法问题 |
最终得分 |
100 |
用户昵称 |
サイタマ |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.002 s |
提交时间 |
2017-09-20 19:49:33 |
内存使用 |
0.33 MiB |
显示代码纯文本
#include<fstream>
#include<cmath>
#include<cstring>
using namespace std;
ifstream cin("sub.in");
ofstream cout("sub.out");
char a[1100],b[1100];
int c[1100],d[1100],h[1100],n1,n2,i,j,jw;
int main()
{
cin>>a>>b;
n1=strlen(a);
n2=strlen(b);
for(i=0;i<n1/2;i++)swap(a[i],a[n1-1-i]);
for(i=0;i<n2/2;i++)swap(b[i],b[n2-1-i]);
for(i=0;i<n1;i++)c[i]=a[i]-'0';
for(i=0;i<n2;i++)d[i]=b[i]-'0';
if(n1>n2)swap(n1,n2);
for(i=0;i<n2;i++)h[i]=c[i]-d[i];
for(i=n2-1;i>=0;i--)
{
if(h[i]<0)
{
jw=1;
break;
}
if(h[i]>0)
{
jw=0;
break;
}
if(i==0&&h[i]==0)
jw=2;
}
if(jw==2)cout<<0;
if(jw!=2)
{
if(jw==0)
for(i=0;i<n2;i++)h[i]=c[i]-d[i];
if(jw==1)
for(i=0;i<n2;i++)h[i]=d[i]-c[i];
for(i=0;i<n2;i++)
{
if(h[i]<0)
{
h[i+1]--;
h[i]=10+h[i];
}
}
for(i=n2;i>1;i--)if(h[i]!=0)break;
if(jw==1)cout<<"-";
for(j=i;j>=0;j--)cout<<h[j];
}
cin.close();
cout.close();
return 0;
}