HDU2669 Romantic 扩展欧几里德 对我来说有陷阱
这道题对我来说有陷阱虽说是赤果果的扩展欧几里德,看样子基本攻还是不够哈,基本功夫一定要好,准备每天上那种洗脑课时分 多看看数论书,弥补一下 自己 狗一样的基础,
这道题用到了一个性质:
整数)
整数)
整数解。
#include<iostream>
#include<cstdio>
#include<list>
#include<algorithm>
#include<cstring>
#include<string>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<cmath>
#include<memory.h>
#include<set> #define ll long long
#define LL __int64
#define eps 1e-8 const ll INF=9999999999999; #define M 400000100 #define inf 0xfffffff using namespace std; //vector<pair<int,int> > G;
//typedef pair<int,int> P;
//vector<pair<int,int>> ::iterator iter;
//
//map<ll,int>mp;
//map<ll,int>::iterator p;
//
//vector<int>G[30012]; LL extgcd(LL a,LL &x,LL b,LL &y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
LL r=extgcd(b,x,a%b,y);
LL t=x;
x=y;
y=t-a/b*y;
return r;
} int main(void)
{
LL a,b;
while(cin>>a>>b)
{
LL x0,y0;
LL x,y;
LL gcd=extgcd(a,x0,b,y0);
if(1%gcd!=0)
{
puts("sorry");
continue;
}
x=x0*1/gcd;
y=y0*1/gcd;
if(x<0)
{
x=x+b/gcd;//就是这里喔,虽然gcd肯定为1,但是为了让自己能尽快的熟练扩展欧几里德,还是坚持写全了
y=y-a/gcd;//其实原式子是 x=x+b/gcd*t(t为一个整数,因为运用了循环所以t不用管了)
}
cout<<x<<" "<<y<<endl;
}
}
HDU2669 Romantic 扩展欧几里德 对我来说有陷阱的更多相关文章
- HDU 2669 Romantic 扩展欧几里德---->解不定方程
		
Romantic Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
 - HDU 2669 Romantic(扩展欧几里德, 数学题)
		
题目 //第一眼看题目觉得好熟悉,但是还是没想起来//洪湖来写不出来去看了解题报告,发现是裸的 扩展欧几里得 - - /* //扩展欧几里得算法(求 ax+by=gcd )//返回d=gcd(a,b) ...
 - HDU 2669 Romantic【扩展欧几里德】
		
裸的扩展欧几里德,求最小的X,X=((X0%b)+b)%b,每个X都对应一个Y,代入原式求解可得 #include<stdio.h> #include<string.h> ty ...
 - hdu2669与hdu1576(扩展欧几里德)
		
模板: int Extend_Euclid(int a, int b, int &x, int &y){ if(b == 0){ x = 1; ...
 - HDU 2669 Romantic(扩展欧几里德)
		
题目链接:pid=2669">http://acm.hdu.edu.cn/showproblem.php?pid=2669 Problem Description The Sky is ...
 - (扩展欧几里德算法)zzuoj 10402: C.机器人
		
10402: C.机器人 Description Dr. Kong 设计的机器人卡尔非常活泼,既能原地蹦,又能跳远.由于受软硬件设计所限,机器人卡尔只能定点跳远.若机器人站在(X,Y)位置,它可以原地 ...
 - [BZOJ1407][NOI2002]Savage(扩展欧几里德)
		
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1407 分析: m,n范围都不大,所以可以考虑枚举 先枚举m,然后判定某个m行不行 某个 ...
 - 欧几里德与扩展欧几里德算法 Extended Euclidean algorithm
		
欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数. 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd( ...
 - 51nod 1352 扩展欧几里德
		
给出N个固定集合{1,N},{2,N-1},{3,N-2},...,{N-1,2},{N,1}.求出有多少个集合满足:第一个元素是A的倍数且第二个元素是B的倍数. 提示: 对于第二组测试数据,集合分别 ...
 
随机推荐
- linux 下rocketmq安装
			
一.解压mq(/data下)tar -zxvf Rocketmq-3.5.8.tar.gz 二.修改配置文件vi /etc/profileexport rocketmq=/data/alibaba-r ...
 - Java 中的 I/O
			
I/O 指的是 input 和 output ,也就是输入和输出,我们说的是 Java 中的 I/O,那我们就在站在虚拟机的角度去看看有哪些输入和输出.输入又可以称为数据源端,能想到的会有,文件,网络 ...
 - java I/O流类概述
			
java I/O流类概述
 - 「长乐集训 2017 Day10」划分序列 (二分 dp)
			
「长乐集训 2017 Day10」划分序列 题目描述 给定一个长度为 n nn 的序列 Ai A_iAi,现在要求把这个序列分成恰好 K KK 段,(每一段是一个连续子序列,且每个元素恰好属于一 ...
 - Java还是程序员的金饭碗
			
可能会存在一种更快,更简单的编程语言,但就目前来说,根据Stack Overflow的最新统计,“传统”的编程语言依然在赚着大把的钱.在2013年,招聘程序员时,搜索最多的技能关键字是Java,几乎有 ...
 - [CC-SEINC]Sereja and Subsegment Increasings
			
[CC-SEINC]Sereja and Subsegment Increasings 题目大意: 有长度为\(n(n\le10^5)\)的序列\(A\)和\(B\). 在一次操作中,可以选择一个区间 ...
 - [CodeChef-QUERY]Observing the Tree
			
题目大意: 给你一棵树,一开始每个点的权值都是0,要求支持一下三种操作: 1.路径加等差数列. 2.路径求和. 3.回到以前的某次操作. 强制在线. 思路: 树链剖分+主席树. 最坏情况下,n个点的树 ...
 - SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
			
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
 - Python学习笔记(四):字符串的学习
			
总结的内容: 1.字符串常用的方法 2.Python字符串格式化 3.Python字符串转义字 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符 ...
 - Spring_Task初探(注解,XML配置)
			
这几天想写一个动态添加任务项目找了找Spring下的自带定时功能发现还真有,然后网上找了找资料写了个demo 写了两种方式来执行定时的任务(XML配置和注解) 先建两个普通的任务类(XML配置调用的任 ...