博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ-1061 青蛙的约会
阅读量:5154 次
发布时间:2019-06-13

本文共 1034 字,大约阅读时间需要 3 分钟。

题意:有两只青蛙,一只在坐标x,另一直在坐标y,青蛙x一次跳跃可以前进m单位距离,青蛙y一次跳跃可以前进n单位的距离,两青蛙都在同一纬度,该纬度长度为L。两只青蛙同方向同时跳啊跳,问你最少跳多少次,它们才可以相遇,如果不能相遇,输出impossble。

思路:初识扩展欧几里得~

题目链接:

 

View Code
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 using namespace std; 9 #define LL long long10 11 LL x,y,m,n,L;12 13 LL exgcd(LL a,LL b){14 LL t,d;15 if(b==0){16 x=1;17 y=0;18 return a;19 }20 else{21 d=exgcd(b,a%b);22 t=x;23 x=y;24 y=t-(a/b)*y;25 return d;26 }27 }28 29 int main(){30 31 freopen("data.in","r",stdin);32 freopen("data.out","w",stdout);33 34 while(scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&L)!=EOF){35 LL a=n-m;36 LL b=L;37 LL c=x-y;38 LL d=exgcd(a,b);39 if(c%d!=0) {puts("Impossible"); continue;}40 x=x*(c/d);41 y=y*(c/d); //x1=x+b/d*t y1=y-a/d*t;42 LL k=x*d/b;43 k=x-k*b/d;44 if(k<0) k+=b/d;45 printf("%lld\n",k);46 }47 return 0;48 }

转载于:https://www.cnblogs.com/Hug-Sea/articles/2645229.html

你可能感兴趣的文章
MiniMagick
查看>>
css important
查看>>
KindEditor图片上传到七牛云
查看>>
JavaScript---Promise
查看>>
暖暖的感动
查看>>
[转] C语言的谜题
查看>>
Java中的日期和时间
查看>>
禁用windows2000.2003启动时的CTRL+ALT+DEL
查看>>
Django基于admin的stark组件创建(一)
查看>>
快速幂 模板及应用
查看>>
批处理/DOS命令删除文件夹下某类型的文件
查看>>
模板 - 数学 - 矩阵快速幂
查看>>
优秀的持久层框架Mybatis,连接数据库快人一步
查看>>
线段树 延迟更新
查看>>
CentOS的IP配置专题
查看>>
基于WCF大型分布式系统的架构设计
查看>>
Bat文件注册组件
查看>>
Autoit 3 常用的语句
查看>>
PAT L2-016 愿天下有情人都是失散多年的兄妹
查看>>
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>