HDU2669
首先题目描述和题目本身卵关系没有
就是求解不定方程的解的解,注意x的值必须大于零。
在模版e_gcd求得特解之后,需要知道该不定方程的通解:
利用它最小的正整数x
AC代码:
/**************************************************************
* By: Xingxing
* Date: 2016-09-27
* Address: http://blog.csdn.net/legend_pawn?viewmode=contents
**************************************************************/
#include<iostream>
#include <cstdio>
using namespace std;
int a,b,x,y;
int e_gcd(int a,int b,int &x,int &y){
if(!a&&!b)
return -1;
if(b==0){
x=1;y=0;return a;
}
int r=e_gcd(b,a%b,y,x);
y-=a/b*x;
return r;
}
int main(){
//freopen("input.txt","r",stdin);
while(~scanf("%d%d",&a,&b)){
int ans;
ans=e_gcd(a,b,x,y);
if(ans!=1)
cout<<"sorry"<<endl;
else{
while(x<=0){
x+=b;
y-=a;
}
cout<<x<<" "<<y<<endl;
}
}
return 0;
}