比赛 20160303 评测结果 AAAAAAAAAA
题目名称 同余方程 最终得分 100
用户昵称 haah 运行时间 0.002 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-03-03 19:31:45
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector> 
using namespace std;
int a,b,x,y;
int ex_gcd(int a,int b,int &x,int &y){
    if(b==0){
        x=1;
        y=0;
        return a;
    }
    int ans=ex_gcd(b,a%b,x,y);
    int temp=x;
    x=y;
    y=temp-a/b*y;
    return ans;
}
int gcd;
int main(){
	freopen("mod.in","r",stdin);
	freopen("mod.out","w",stdout);
    cin>>a>>b;
    int x=0,y=0;
    gcd=ex_gcd(a,b,x,y);
    
    if(x>0){
        for(int t=0;;t--){
            if((x+b/gcd*t)<=0){
                cout<<x;
                return 0;
            }
            else{
                x=x+b/gcd*t;
            }
        }
    }
    else{
        for(int t=0;;t++){
            if((x+b/gcd*t)>0){
                x=x+b/gcd*t;
                cout<<x;
                return 0;
            }
        }
    }
    
    return 0;
}