Noip 2012 同余方程

来源:互联网 发布:mysql benchmark 使用 编辑:程序博客网 时间:2024/06/04 19:10
#include <algorithm>#include <iostream>#include <cstdio>using namespace std;const int MAXN = 100010;int a, b, ans;int 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 calc(int a,int m) {    int gcd = ex_gcd(a,m,x,y);    return gcd == 1 ? (x+m)%m : -1;}int main() {    cin >> a >> b;    cout << calc(a,b);     return 0;}