20160321 CodeForces 7C Line(拓展欧几里得)
来源:互联网 发布:恶意广告拦截软件 编辑:程序博客网 时间:2024/05/22 03:36
题意:
给你a,b,c,求在ax+by+c=0线段上的坐标为整数的点,没有输出-1.
思路:
ax+by=-c符合拓展欧几里得的形式,模板走你,注意a或b为零的处理。
#include <iostream>#include <stdio.h>using namespace std;long long exgcd(long long a,long long b,long long &x,long long &y){ if(b==0) { x=1; y=0; return a; } else { long long r=exgcd(b,a%b,y,x); y-=x*(a/b); return r; }}int main(){ long long a,b,c,x1,x2,x,y; while(scanf("%I64d%I64d%I64d",&a,&b,&c)==3) { x1=x2=0; if(a==0) { if(-c%b==0) printf("0 %I64d\n",-c/b); else printf("-1\n"); continue; } if(b==0) { if(-c%a==0) printf("%I64d 0\n",-c/a); else printf("-1\n"); continue; } if(c>0) { a=-a; b=-b; } else c=-c; if(a<0) { a=-a; x1=1; } if(b<0) { b=-b; x2=1; } long long r=exgcd(a,b,x,y); if(c%r!=0) { printf("-1\n"); } else { if(x1) x=-x; if(x2) y=-y; printf("%I64d %I64d\n",x*(c/r),y*(c/r)); } } return 0;}
0 0
- 20160321 CodeForces 7C Line(拓展欧几里得)
- Codeforces 7C Line(拓展欧几里得)
- CodeForces 7C Line (扩展欧几里得)
- 7C. Line【拓展欧几里得】 数论模板
- CF 7C. Line 拓展欧几里得
- CodeForces 7 C. Line(扩展欧几里得)
- CF 7C Line(拓展欧几里得求线性方程)
- CF 7C Line(拓展欧几里得求线性方程)
- #7 C. Line (扩展欧几里得)
- codeforces Line 7C (拓展欧几里德+思想 模板) 好题
- codeforces Line 7C (拓展欧几里德+思想 模板) 好题
- codeforce 7C &&拓展欧几里得 详解
- POJ - 2115 C Looooops(拓展欧几里得)
- CodeForces 7C - Line
- codeforces 7C Line
- codeforce : C. Line(扩展欧几里得)
- CodeForces 7C【扩展欧几里得】
- codeforces#406 A (拓展欧几里得水题)
- 编译
- 利用msfvenom生成木马程序
- superviseddescent (SDM C++11实现)环境配置
- 交叉编译器的安装方法
- ionic框架环境配置
- 20160321 CodeForces 7C Line(拓展欧几里得)
- 顺序表与单链表的比较
- Android SwipeRefreshLayout实现下拉刷新,上拉加载、滑动加载(自动加载)和点击加载
- java指导
- Carthage
- Latex中制作表格
- 怎样用gcc 一次性编译多个objective c文件啊
- 两款富文本编辑器——Kindeditor+UEditor
- mysql 删除前几天记录