http://acm.hdu.edu.cn/showproblem.php?pid=2669
//歐幾里德算法(Euclid)
#include <iostream>
using namespace std;
int exgcd(int a, int b, int &x, int &y)//輾轉(zhuǎn)相除法求最大公約數(shù)GCD


{
if(b == 0)

{
x = 1;
y = 0;
return a;
}
int r = exgcd(b, a % b, x, y);
int t = x;
x = y;
y = t - a / b * y;
return r;
}
int main()


{
int m,n,a,b,r;
while(scanf("%d%d",&a,&b)+1)

{
r=exgcd(a,b,m,n);
if(r==1)//最大公約數(shù)為1時(shí)

{
while(m<0)

{
m+=b;
n-=a;
}
printf("%d %d\n",m,n);
}
else printf("sorry\n");
}
return 0;
}
//歐幾里德算法(Euclid)
#include <iostream>
using namespace std;
int exgcd(int a, int b, int &x, int &y)//輾轉(zhuǎn)相除法求最大公約數(shù)GCD

{
if(b == 0) 
{
x = 1;
y = 0;
return a;
}
int r = exgcd(b, a % b, x, y);
int t = x;
x = y;
y = t - a / b * y;
return r;
}
int main()

{
int m,n,a,b,r;
while(scanf("%d%d",&a,&b)+1)
{
r=exgcd(a,b,m,n);
if(r==1)//最大公約數(shù)為1時(shí)
{
while(m<0)
{
m+=b;
n-=a;
}
printf("%d %d\n",m,n);
}
else printf("sorry\n");
}
return 0;
}

