C. Line(擴充套件歐幾里得求不定方程的解)
A line on the plane is described by an equation Ax + By + C = 0. You are to find any point on this line, whose coordinates are integer numbers from - 5·1018 to 5·1018 inclusive, or to find out that such points do not exist.
Input
The first line contains three integers A, B and C ( - 2·109 ≤ A, B
If the required point exists, output its coordinates, otherwise output -1.
Examples input2 5 3output
6 -3
#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> using namespace std; typedef long long int ll; ll ext_gcd(ll a,ll b,ll& s,ll& t){ if(b==0){ s = 1; t = 0; return a; } ll ans = ext_gcd(b,a%b,s,t); ll tmp = s; s = t; t = tmp-a/b*s; return ans; } int main(){ ll a,b,c; scanf("%I64d %I64d %I64d",&a,&b,&c); ll s=0,t=0; ll d = ext_gcd(a,b,s,t); if(c%d!=0) printf("-1\n"); else printf("%I64d %I64d\n",-1*c/d*s,-1*c/d*t); return 0; }
相關推薦
C. Line(擴充套件歐幾里得求不定方程的解)
time limit per test 1 second memory limit per test 256 megabytes input standard input outp
青蛙的約會(擴充套件歐幾里得演算法+不定方程求解)
1.折磨了我好久,不過大概是懂了。 2.題目: 兩隻青蛙在網上相識了,它們聊得很開心,於是覺得很有必要見一面。它們很高興地發現它們住在同一條緯度線上,於是它們約定各自朝西跳,直到碰面
ZOJ ~ 3593 ~ One Person Game (擴充套件歐幾里得,不定方程)
題意 你要從A走到B,你每次可以走a步,b步,a+b步問最小需要走多少步?無法到達輸出 -1。 題解 先不考慮a+b步的情況,那麼我們要求解的就是:,如果,證明無解。 假設原方程一組解為x0,y0,那麼通解(x,y)為:,。 其實也就是兩條直線:, 取一條平行於
POJ ~ 2115 ~ C Looooops (擴充套件歐幾里得)
題解 設答案為x,由題意得,同餘方程 => 。 然後求得最小的非負整數解 x 就是答案。 //#include<bits/stdc++.h> #include<iost
ZOJ ~ 3609 ~ Modular Inverse (擴充套件歐幾里得,乘法逆元)
題意 求a*x ≡ 1(mod m),求最小的正整數 x ,如果沒有解輸出 “Not Exist”。 思路 求乘法逆元。a*x ≡ 1(mod m)轉化為 ,求最小的正!整數 x 。 #
poj 1061青蛙的約會(擴充套件歐幾里得+同餘方程)
兩隻青蛙在網上相識了,它們聊得很開心,於是覺得很有必要見一面。它們很高興地發現它們住在同一條緯度線上,於是它們約定各自朝西跳,直到碰面為止。可是它們出發之前忘記了一件很重要的事情,既沒有問清楚對方的特徵,也沒有約定見面的具體位置。不過青蛙們都是很樂觀的,它們覺得只要一直朝
數論(擴充套件歐幾里得求方程整數解)
A - Solutions to an Equation You have to find the number of solutions of the following equation: Ax + By + C = 0 Where A, B, C, x, y
poj 1601(擴充套件歐幾里德求不定方程的整數解)
歐幾里德的原理:(轉)http://www.cnblogs.com/void/archive/2011/04/18/2020357.html 擴充套件歐幾里德演算法是用來在已知a, b求解一組p,q使得p * a+q * b = Gcd(p, q) (解一定存在,根據數論
【擴充套件歐幾里德求不定方程】 hdoj 2669
擴充套件歐幾里德求不定方程 hdoj 2669 題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=2669 題目思路:赤裸裸的求不定方程 p = m *
51Nod 1119 機器人走方格 (擴充套件歐幾里得+逆元+求組合數)
M * N的方格,一個機器人從左上走到右下,只能向右或向下走。有多少種不同的走法?由於方法數量可能很大,只需要輸出Mod 10^9 + 7的結果。 收起 輸入 第1行,2個數M,N,中間用空格隔開。(2 <= m,n <= 1000000) 輸出 輸出走法的數量 Mo
演算法複習——擴充套件歐幾里得演算法(擴充套件歐幾里得,逆元,整除)
①歐幾里得演算法 就是求gcd的有趣的輾轉相除法,不再贅述啦0v0 程式碼: int gcd(int a,int b) { if(b==0) return a; else return gcd(b,a%b); } ②擴充套件歐幾里得演算法 需要解決這樣的問題:兩個非0整數a,b
qdu 2017級納新題(擴充套件歐幾里得)
在你面前撒個嬌 哎呦喵喵喵喵喵 Description 我們一起學貓叫 一起喵喵喵喵喵 在你面前撒個嬌 哎呦喵喵喵喵喵 我的心臟砰砰跳 迷戀上你的壞笑 你不說愛我我就喵喵喵 每當xjy和hqy一起唱起這首歌時,就會吸引好多貓群來聽歌,這天他們又吸
POJ-1061-青蛙的約會 (擴充套件歐幾里得演算法)
原題連結: http://poj.org/problem?id=1061 兩隻青蛙在網上相識了,它們聊得很開心,於是覺得很有必要見一面。它們很高興地發現它們住在同一條緯度線上,於是它們約定各自朝西跳,直到碰面為止。可是它們出發之前忘記了一件很重要的事情,既沒有問清楚對方的特徵,也沒有約定
HDU-2669-Romantic (擴充套件歐幾里得演算法)
原題連結: http://acm.hdu.edu.cn/showproblem.php?pid=2669 The Sky is Sprite. The Birds is Fly in the Sky. The Wind is Wonderful. Blew Throw the Trees
POJ-2142-The Balance (擴充套件歐幾里得演算法)
原題連結: Ms. Iyo Kiffa-Australis has a balance and only two kinds of weights to measure a dose of medicine. For example, to measure 200mg of aspiri
POJ ~ 1061 ~ 青蛙的約會 (擴充套件歐幾里得)
題解 假設答案為a,其實就是求解:,化為。 對應到中,a = m-n,b = L, c = y-x。x為a,y為k。要求最小的非負整數x。 假設的一組解為(x0,y0),那麼通解為 所以最小
逆元的幾種求法(擴充套件歐幾里得,費馬小定理或尤拉定理,特例,打表等)
乘法逆元 對於縮系中的元素,每個數a均有唯一的與之對應的乘法逆元x,使得ax≡1(mod n) 一個數有逆元的充分必要條件是gcd(a,n)=1,此時逆元唯一存在 逆元的含義:模n意義下,1個數a
求組合數取模(楊輝三角打表 & 求逆元(擴充套件歐幾里得、費馬小定理、尤拉定理、線性求法) & Lucas)
在acm競賽中,組合數取模的題目還是經常會見到的,所以這是有必要掌握的一個演算法。我本人就因為這個東西而被坑了很多次了= =之前的部落格也都扯過了,就不多說了,下面進入正題。 (1)楊輝三角求組合數 楊輝三角這個東西應該都不陌生,三角的兩邊始終為一,之後向
一次同餘式的求解(擴充套件歐幾里得)
大佬的解釋 題目連結 一次同餘式a*x%n=b的解的存在條件是b整除gcd(a,n)。 #include<cstdio> #include<cstring> #includ
各種密碼學演算法的GUI程式設計實現(DES、AES、Present、擴充套件歐幾里得演算法、素性檢測)
encryption-algorithm 各種密碼學演算法的 C# GUI程式設計實現,包含: DES AES Present 擴充套件歐幾里得演算法 素性檢測 最終的結果 DES加密 DES解密