社区讨论

AC但问

P5656【模板】二元一次不定方程 (exgcd)参与者 3已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mli584zy
此快照首次捕获于
2026/02/11 22:46
上周
此快照最后确认于
2026/02/14 09:25
5 天前
查看原帖

第一遍提交为什么Judging那么久还编译失败,第二遍提交直接AC?两个代码一模一样啊

CPP
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define db long double
ll t,a,b,c,a1,c1,b1,qingchenduan,qcd,cnt,minx,miny,xmin,xmax,ymin,ymax,kmax; 
db k1,k2;
ll x,y,d;
ll dqc;
ll read()
{
	ll X=0,W=1;
	char ch=getchar();
	while(ch<'0'||ch>'9')
	{
		if(ch=='-')W=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
	{
		X=X*10+ch-'0';
		ch=getchar();
	}
	return X*W;
}
void write(ll x)
{
	if(x<0)
	{
		putchar('-');
		x=-x;
	}
	if(x==0)
	{
		putchar('0');
		return;
	}
	if(x>9)
	{
		write(x/10);
	}
	putchar(x%10+'0');
}
ll exgcd(ll p,ll q,ll &x,ll &y)
{
	if(q==0)
	{
		x=1;
		y=0;
		return p;
	}
	ll ret=exgcd(q,p%q,x,y);
	ll tmp=x;
	x=y;
	y=tmp-(p/q)*y;
	return ret;
}
ll duanqingchen(ll dqcwnc,ll d)
{
    if(d==0)
	{
        return dqcwnc>0?dqcwnc:dqcwnc+abs(dqcwnc)+1;
    }
    ll mod=abs(d);
    ll res=(dqcwnc%mod+mod)%mod;
    if (res==0)res=mod;
    return res;
}
int main()
{
    t=read();
    while(t--)
    {
    	a=read();
    	b=read();
    	c=read();
    	d=exgcd(a,b,x,y);
    	if(c%d!=0)
    	{
    		write(-1);
    		putchar('\n');
    		continue;
    	}
    	a1=a/d;
		b1=b/d;
		c1=c/d;
    	qingchenduan=x*c1;
    	qcd=y*c1;
    	k1=(db)(1-qingchenduan)/b1;
    	k2=(db)(qcd-1)/a1;
    	dqc=ceil(k1);
    	kmax=floor(k2);
    	if(dqc>kmax)
    	{
    		minx=duanqingchen(qingchenduan,b1);
    		miny=duanqingchen(qcd,-a1);
    		write(minx);
    		putchar(' ');
    		write(miny);
    		putchar('\n');
    	}
    	else
		{
			cnt=kmax-dqc+1;
	    	xmin=qingchenduan+dqc*b1;
	    	xmax=qingchenduan+kmax*b1;
	    	ymin=qcd-kmax*a1;
	    	ymax=qcd-dqc*a1;
	    	write(cnt);putchar(' ');
	    	write(xmin);putchar(' ');
	    	write(ymin);putchar(' ');
	    	write(xmax);putchar(' ');
	    	write(ymax);putchar('\n');
		}
    }
    return 0;
}

测评记录Judging

AC记录

注:不用管qingchenduan,qcd,duanqingchen,dqcwnc这些变量

回复

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

正在加载回复...