Problem - 1004 (hdu.edu.cn)

扩展欧几里得解决线性同余方程。先得到gcd的解,再恢复原解,因为知道通解的一般形式,所以通过模来得到最小正整数解。另一个可以通过相减,或者一样的操作。一个增加,另一个一定减少。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll x,y;
ll ex_gcd(ll a,ll b,ll &x,ll &y)
{
if(b==0){x=1,y=0;return a;}
ll d=ex_gcd(b,a%b,x,y);
ll temp=x;
x=y;y=temp-a/b*y;
return d;
}
int a,b;
int main()
{
while(~scanf("%d%d",&a,&b))
{
ll c=1;
ll k=ex_gcd(a,b,x,y);
if(c%k!=0) printf("sorry\n");
else
{
ll p=c/k;
x*=p;x=(x%b+b)%b;y*=p;y=(y%a-a)%a;
//y=(c-a*x)/b;
cout<<x<<" "<<y<<endl;
}
}
return 0;
}

  

HDURomantic的更多相关文章

随机推荐

  1. HashMap的putAll方法介绍说明

    jdk1.8 使用putAll时,新map中的值仅为旧map值所对应对象的引用,并不会产生新对象. 如下,使用for循环赋值! public void putAll(Map<? extends ...

  2. Redis学习推荐资料合集

    目录 一.官方 二.书籍 三.推荐博客 一.官方 redis官网 redis中文网 redis中文命令网 redis模块 redis-github源码 redis报告 二.书籍 <Redis开发 ...

  3. 去除爬虫采集到的\xa0、\u3000等字符

    \xa0表示不间断空白符,爬虫中遇到它的概率不可谓不小,而经常和它一同出现的还有\u3000.\u2800.\t等Unicode字符串.单从对\xa0.\t.\u3000等含空白字符的处理来说,有以下 ...

  4. 突破类型限制的“数据透视图”(Excel技巧集团)

    Excel中,图表一共16个大类,但是数据透视图却被"阉"了好几个-- 这也就是说,数据透视图无法与上图中高亮标出的图表类型并存了? 确实如此,但并不绝对,因为我们可以在" ...

  5. CF221A Little Elephant and Function 题解

    Content 小象有一个序列 \(a_1,a_2,a_3,...,a_n\) (其中 \(a_i=i\))和一个递归函数 \(f(x)\).\(f(x)\) 的操作如下: 初始时,\(x=n\). ...

  6. mysql 字符串转日期及其他日期转换

    -- 字符串转日期 select str_to_date('2019/1/1', '%Y/%m/%d') -- 2019-01-01 SELECT STR_TO_DATE(concat(Cyear,' ...

  7. java 数据类型:<泛型>在方法中和在构造器中的应用

    背景: Java不允许我们把对象放在一个未知的集合中. import java.util.ArrayList; import java.util.List; /** * @ClassName Meth ...

  8. AcWing03. 完全背包问题

    有\(N\)种物品和一个容量是\(V\)的背包,每种物品都有无限件可用. 第\(i\)种物品的体积是\(v_i\),价值是\(w_i\). 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量, ...

  9. 【九度OJ】题目1434:今年暑假不AC 解题报告

    [九度OJ]题目1434:今年暑假不AC 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1434 题目描述: "今年暑假不A ...

  10. 【LeetCode】336. Palindrome Pairs 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 HashTable 相似题目 参考资料 日期 题目地 ...