题意:给条直线方程,Ax+By+C=0问是否存在整数x,y满足方程.存在任意输出,否则输出-1
思路;直接套欧几里得解出来。
#include<cstdio>
#define ll long long
using namespace std;
void exgcd(ll a,ll b,ll &d,ll &x,ll &y)
{
if(!b)
{
x=1;y=0;d=a;
}
else
{
exgcd(b,a%b,d,y,x);
y-=x*(a/b);
}
}
int main()
{
ll A,B,C;
scanf("%I64d%I64d%I64d",&A,&B,&C);
ll d,x,y;
exgcd(A,B,d,x,y);
if(-C%d)printf("-1\n");
else
{
printf("%I64d %I64d\n",x*(-C/d),y*(-C/d));
}
}