Codeforces 7C 扩展欧几里得
2017-08-03 10:38
429 查看
扩展欧几里得是计算 ax + by = gcd(a,b) 的 x,y的整数解。
现在是ax + by + c = 0;
只要 -c 是 gcd(a,b) 的整数倍时有整数解,整数解是 x = x*(-c)/gcd(a,b) ; y = y*(-c)/gcd(a,b);
现在是ax + by + c = 0;
只要 -c 是 gcd(a,b) 的整数倍时有整数解,整数解是 x = x*(-c)/gcd(a,b) ; y = y*(-c)/gcd(a,b);
#include <bits/stdc++.h> using namespace std; typedef long long ll; void gcd(ll a,ll b,ll& d,ll& x,ll& y) { if(!b) {d=a;x=1;y=0;} else { gcd(b,a%b,d,y,x); y-=x*(a/b); } } int main() { ll a,b,c; ll d,x,y; scanf("%lld%lld%lld",&a,&b,&c); gcd(a,b,d,x,y); if(c%d==0) { x = -x*c/d; y = -y*c/d; printf("%lld %lld\n",x,y); } else printf("-1\n"); return 0; }
相关文章推荐
- CodeForces - 7C Line(扩展欧几里得)
- CodeForces 7C【扩展欧几里得】
- CodeForces 7C (扩展欧几里得)
- 扩展欧几里得--解一元线性方程CodeForces -7C
- CodeForces - 7C Line(扩展欧几里得模板)
- codeforces 7c line(扩展欧几里得)
- CodeForces 7C(扩展欧几里德解方程)
- CodeForces 7C Line (扩展欧几里得)
- CodeForces 7 C. Line(扩展欧几里得)
- Codeforces 724C Ray Tracing 扩展欧几里得
- 扩展欧几里得,逆元初识(poj 1061+codeforce 7C line+hdu 1576 A/B)
- codeforces 787A the monster(扩展欧几里得做法+暴力做法)
- codeforces 7C Line 扩展欧几里德 Java
- codeforces 612A The Text Splitting(扩展欧几里得)
- [codeforces 200 E Tractor College]枚举,扩展欧几里得,三分
- 【数论】【扩展欧几里得】Codeforces 710D Two Arithmetic Progressions
- ☆ Codeforces 724C Ray Tracing 扩展欧几里得 + 计算几何
- Codeforces 724C Ray Tracing 扩展欧几里得
- CodeForces 724|模拟|贪心|扩展欧几里得|
- 【数论】【扩展欧几里得】Codeforces 710D Two Arithmetic Progressions