Codeforces7C 扩展欧几里得
来源:互联网 发布:看high类似软件 编辑:程序博客网 时间:2024/05/22 17:14
Line
Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u
Description
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, C ≤ 2·109) — corresponding coefficients of the line equation. It is guaranteed that A2 + B2 > 0.
Output
If the required point exists, output its coordinates, otherwise output -1.
Sample Input
Input
2 5 3
Output
6 -3
Source
Codeforces Beta Round #7
思路:先将A,B,C除以gcd(a,b),此时保证A,B已经互素,调用模板求出的特解x,y 只需乘上c即为答案
#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>using namespace std;void exgcd(long long a,long long b,long long &x,long long &y){ if(b){ exgcd(b,a%b,y,x); y-=(a/b)*x; } else{ x=1; y=0; }}long long gcd(long long a,long long b){ return b==0?a:gcd(b,a%b);}int main(){ long long a,b,c; scanf("%lld%lld%lld",&a,&b,&c); int g=gcd(a,b); if(c%g){ printf("-1\n"); } else{ long long x,y; exgcd(a,b,x,y); printf("%lld %lld\n",-x*c/g,-y*c/g); } return 0;}
0 0
- Codeforces7C 扩展欧几里得
- 【欧几里得&扩展欧几里得】
- 欧几里得和扩展欧几里得
- 欧几里得 与 扩展欧几里得
- 欧几里得&扩展欧几里得
- 欧几里得和扩展欧几里得
- 欧几里得与扩展欧几里得
- 欧几里得和扩展欧几里得
- 欧几里得 与 扩展欧几里得
- 欧几里得 扩展欧几里得
- 欧几里得与扩展欧几里得
- 欧几里得 & 扩展欧几里得
- 欧几里得 与 扩展欧几里得
- 欧几里得和扩展欧几里得
- 欧几里得与扩展欧几里得
- 扩展欧几里得
- 扩展欧几里得
- 扩展欧几里得
- hibernate 数据库操作模板
- 自定义枚举以及如何在反射中获取枚举值
- python3 pyqt5,qt5环境搭建
- VB.net学习笔记(二十九)认识STA与MTA
- POJ 1006 - Biorhythms (中国剩余定理)
- Codeforces7C 扩展欧几里得
- 驱动编写小经验,新手,请勿吐槽(持续更新中......)
- HDU 2588 GCD
- E sum
- HDU 5317 RGCDQ
- 破解数字游戏 —— 概率篇
- HDU 2082 母函数模板题
- HDU 1023 Traning Problem (2) 大数卡特兰数
- HDU 1521 排列组合 指数型母函数