QAQ蒟蒻求助为什么会WA一个点
查看原帖
QAQ蒟蒻求助为什么会WA一个点
338332
Alan_M_Turing楼主2021/2/10 13:08

P2142 高精度减法

WA了第七个点

测试点数据比较长感觉貌似没有全部读进来

#include<bits/stdc++.h>
using namespace std;
string c;
int a[10100],b[10100],la,lb;
int flag=0;
int main()
{
    cin>>c;
    la=c.length();
    for(int i=1;i<=la;i++)
        a[i]=c[la-i]-'0';
    cin>>c;
    lb=c.length();
    for(int i=1;i<=lb;i++)
        b[i]=c[lb-i]-'0';
    if(la<lb)
    {
        printf("-");
        flag=1;
    }
    else if(la==lb)
        for(int i=la;i>=1;i--)
            if(a[i]<b[i])
            {
                printf("-");
                flag=1;
                break;
            }
            else
                break;
    if(flag==0)
    {
        for(int i=1;i<=lb;i++)
        {
            a[i]=a[i]-b[i];
            if(a[i]<0)
            {
                a[i+1]--;
                a[i]+=10;
            }
        }
        while(a[la]==0&&la>1)
            la--;
        for(int i=la;i>=1;i--)
            printf("%d",a[i]);
    }
    else
    {
        for(int i=1;i<=lb;i++)
        {
            b[i]=b[i]-a[i];
            if(b[i]<0)
            {
                b[i+1]--;
                b[i]+=10;
            }
        }
        while(b[lb]==0&&lb>=1)
            lb--;
        for(int i=lb;i>=1;i--)
            printf("%d",b[i]);
    }
    printf("\n");
    return 0;
}
2021/2/10 13:08
加载中...