HDURomantic
扩展欧几里得解决线性同余方程。先得到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的更多相关文章
随机推荐
- Java动态脚本Groovy,高级啊!
前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚 ...
- 安装Google BBR加速
目录 一.简介 二.安装 三.设置BBR 一.简介 Google BBR 是一款免费开源的TCP拥塞控制传输控制协议, 可以使Linux服务器显著提高吞吐量和减少TCP连接的延迟. 二.安装 1.yu ...
- 童鞋,[HttpClient发送文件] 的技术实践请查收
1.荒腔走板 前几天有个童鞋在群里面问:怎么使用HttpClient发送文件? 之前我写了一个ABP上传文件,主要体现的是服务端,上传文件的动作是由前端小姐姐完成的, 我还真没有用HttpClient ...
- mysql--求中位数
第一种求中位数方法: /* 第一步:添加一个正序和反序 第二步:当列表数目为奇数的时候,列表选出的情况,当列表为偶数的时候列表的情况 第三步:统筹奇数和偶数时中位数 */ select sum(Mat ...
- Table.RemoveLastN删除后面N….RemoveLastN(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳"&qu ...
- int i=i++;和i=++i;和i++
1.int i=i++; 2.i=++i; 3.i++
- CF169A Chores 题解
Content 两兄弟要分担 \(n\) 件家务,第 \(i\) 件家务有一个复杂度 \(h_i\).兄弟俩以一个数 \(x\) 为界.所有满足复杂度 \(>x\) 的家务都给哥哥做,其余的给弟 ...
- 55 道MySQL基础题
1.一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后, 删除了第 15, 16, 17 条记录,再把 Mysql 重启,再 insert 一条记 录,这条记录的 ID 是 18 ...
- k8s daemonset controller源码分析
daemonset controller分析 daemonset controller简介 daemonset controller是kube-controller-manager组件中众多控制器中的 ...
- JS中使用reconnecting-websocket实现websocket断开自动重新连接
这里用了第三方的js 官方地址:https://github.com/joewalnes/reconnecting-websocket 引入js reconnecting-websocket.min. ...