首页 > 其他 > 详细

poj 1061 青蛙的约会

时间:2014-02-25 18:05:28      阅读:305      评论:0      收藏:0      [点我收藏+]

扩展欧几里德算法的练习题,直接调用exgcd函数就可以了

bubuko.com,布布扣
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cstdlib>
 5 #include<algorithm>
 6 #define inf 0x7fffffff
 7 using namespace std;
 8 
 9 typedef long long LL;
10 LL x,y,m,n,L;
11 LL x1,y1;
12 LL q;
13 void exgcd(LL a,LL b)
14 {
15     //cout<<a<<endl;
16     if (!b) {x1=1 ;y1=0 ;q=a ; }
17     else
18     {
19         exgcd(b,a%b);
20         LL temp=x1 ;x1=y1 ;y1=temp-a/b*y1;
21     }
22 }
23 LL gcd(LL a,LL b) {return b==0 ? a : gcd(b,a%b); }
24 int main()
25 {
26     while (cin>>x>>y>>m>>n>>L) {
27     LL d=y-x;
28     LL gcd=1;
29     exgcd(n-m,L);
30     gcd=q;
31     if (d%gcd) cout<<"Impossible"<<endl;
32     else
33     {
34         x1 *= (x-y)/gcd;
35         x1=(x1%(L/gcd)+(L/gcd))%(L/gcd);
36         cout<<x1<<endl;
37     }
38     }
39     return 0;
40 }
bubuko.com,布布扣

poj 1061 青蛙的约会

原文:http://www.cnblogs.com/huangxf/p/3565708.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!