hdu 2669 Romantic

简介:

http://acm.hdu.edu.cn/showproblem.php?pid=2669
这就是简单的扩展欧几里得算法,求x 的最小正整数解

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long LL;
void exgcd(LL a, LL b, LL &x, LL &y)
{
    if(b == 0)
    {
        x = 1;
        y = 0;
        return ;
    }
    exgcd(b, a%b, x, y);
    LL tmp = x;
    x = y;
    y = tmp - ( a / b) * y;
}
LL gcd(LL m, LL n)
{
    if(n == 0)
        return m;
    return gcd(n, m % n);
}
int main()
{
    LL a,b,x,y;
    while(cin >> a >> b)
    {
        if(gcd(a, b) != 1)
        {
           puts("sorry");
           continue;
        }
        exgcd(a, b, x, y);
        x = (b + x % b) % b;
        y = (1 - a * x) / b;
        cout<< x << " " << y << endl;
    }
    return 0;
}
目录
相关文章
|
7月前
|
Java
hdu-2546-饭卡
hdu-2546-饭卡
32 0
|
C++ Java
HDU1880
题意就是根据咒语查功能,根据功能查看是否存在相应咒语,题意简单,不过是道不错的练习题。         下面的都MLE了,听说C++用G++提交才可以AC,否则也MLE;方法很多,不想做了……         方法一:我用Java的HashMap一直MLE,即便由value反查key减少映射数也一样MLE,听说C++的map可以AC。
1085 0
hdu 4463 Outlets
点击打开链接hdu 4463 思路:最小生成树+kruskal 分析: 1 题目要求的找到n个商店组成n-1条边,并且要求耐克和苹果商店肯定要相连,求最短长度 2 很明显的最小生成树的模板题,由于要求耐克和苹果的商店要在一起那么就要把这两个商店编号合并到同一个集合,然后在利用kruskal计算。
909 0