社区讨论

求助,第六、八个点WA

P2005A/B Problem II参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi6us4ut
此快照首次捕获于
2025/11/20 11:09
4 个月前
此快照最后确认于
2025/11/20 11:09
4 个月前
查看原帖
CPP
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<sstream>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<set>
using namespace std;
char a[100000],b[100000],bx[100000];
long long c, ma=6227020800,mi=0, da,xiao, a1,b1,bx1, x,y; 
bool pl(long long ch)
{
    int j=0,j11=0;
    for(x=b1;x>=0;--x)
    {
    	j=((b[x]-'0')*ch+j11)/10;
    	bx[b1-x]=((b[x]-'0')*ch+j11)%10+'0';
    	j11=j;
    }
    for(x=b1+1;j;++x)
    {
        j/=10;
    	bx[x]=j11%10+'0';
    	j11=j;
    }
    bx[x]='\0';
    bx1=x-1;
    for(x=0;x<=bx1/2;++x)
        swap(bx[x],bx[bx1-x]);
    if(bx1<a1||bx1==a1&&strcmp(a,bx)>=0)
        return 1;
    else 
        return 0;
}
int main()
{
    cin>>a>>b;
    a1=strlen(a)-1;
    b1=strlen(b)-1;
    for(;;)
    {
        c=(ma+mi)/2;
        da=pl(c+1);
        xiao=pl(c);
        if(!da&&xiao)
            break;
        if(da)
            mi=c;
        else
            ma=c;
    }
    cout<<c;
    return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...