蒟蒻求助(会关注)
查看原帖
蒟蒻求助(会关注)
1305985
Gordon1楼主2025/2/5 21:42
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll t;
ll a,b,c;
ll x,y;
ll tx,ty,k1,k2;
ll xmax,xmin,ymax,ymin;
ll gcd(ll a,ll b)
{
	return b?gcd(b,a%b):a;
}
void exgcd(ll a,ll b)
{
	if(b==0)
	{
		x=1,y=0;
		return ;
	}
	exgcd(b,a%b);
	ll t=x;
	x=y;
	y=t-a/b*y;
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>t;
	while(t--)
	{
		cin>>a>>b>>c;
		ll GCD=gcd(a,b);
		if(c%GCD!=0)
		{
			cout<<-1<<endl;
			continue;
		}
		exgcd(a,b);
		x=abs(x*(c/GCD));
		y=abs(y*(c/GCD));
		tx=b/GCD;
		ty=a/GCD;
		k1=(x-1)/tx;
		k2=(y-1)/ty;
		xmin=x-k1*tx;
		ymax=y+k1*ty;
		ymin=y-k2*ty;
		xmax=x+k2*tx;
		if(ymax<=0)
		{
			cout<<xmin<<" "<<ymin<<endl;
			continue;
		}
		cout<<(xmax-xmin)/tx+1<<" "<<xmin<<" "<<ymin<<" "<<xmax<<" "<<ymax<<endl;
		
	}
	return 0;
}

看着没什么问题,为什么是0分,是哪里出错了,求助各位,谢谢!

2025/2/5 21:42
加载中...