问题 H: Frog青蛙的约会【浙江省选2002】

原创 2015年07月10日 09:47:30

题目描述

Frog青蛙的约会

两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝着对方那里跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。

我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。

输入包括多个测试数据。每个测试数据包括一行5个整数xymnL,其中xymn0L>0mn的符号表示了相应的青蛙的前进方向。

对于每个测试数据,在单独一行里输出碰面所需要的跳跃次数,如果永远不可能碰面则输出一行“Impossible”。

 

输入样例:

1 2 3 4 5

 

输出样例:

4

输入

输出

样例输入

样例输出

program frog;
var x,y,l,m,n:int64;
    w,u,v,a,b:int64;
function gcd(a,b:longint):int64;
begin
  if b=0 then exit(a);
  exit(gcd(b,a mod b));
end;
procedure exgcd(a,b:int64;var x,y:int64);
var s,t:int64;
begin
  if b=0 then
  begin
   x:=1;y:=0;
   exit;
  end;
   exgcd(b,a mod b,s,t);
   x:=t;
   y:=s-(a div b)*t;
end;
begin
  read(x,y,m,n,l);
  a:=(m-n+l)mod l;
  b:=(y-x+l)mod l;
  w:=gcd(a,l);
  if b mod w<>0 then
            begin write('Impossible');
                    exit;
            end;
  exgcd(a,l,u,v);
  u:=u*(b div w);
  if u<0 then u:=(u+l*((-u)div l+1))mod l;
  if u-(l div w)>=0 then u:=u mod (l div w);
  writeln(u);
end.

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

[ZJOI2002] 青蛙的约会

题目描述两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝着对方那里跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没...

【ZJOI2002】poj1061 青蛙的约会

扩展欧几里得

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

H - 青蛙的约会解题报告(贺奕凯)

H - 青蛙的约会 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u ...

青蛙的烦恼 (frog.pas/c/cpp)

青蛙的烦恼 (frog.pas/c/cpp)    池塘中有 n片荷叶恰好围成了一个凸多边形,有一只小青蛙恰好站在1号荷叶上,小青 蛙想通过最短的路程遍历所有的荷叶(经过一个荷叶一次且仅一次),...

Leetcode-403.Frog Jump(青蛙跳石头)

今天的题目是:Leetcode 403-青蛙跳 A frog is crossing a river. The river is divided into x units and at each ...

Leetcode 403. Frog Jump 青蛙过河 解题报告

1 解题思想leetcode上有一种青蛙,不会游泳,但是要过河 从河边出发,位置0,河上有一堆石头。 这只青蛙比较奇怪,若前一次他跳了K步,那么他这次就只能在K-1 K K+1三种步伐中跳 现在...
  • MebiuW
  • MebiuW
  • 2016-09-18 19:18
  • 3931

[poj1061][数论]青蛙的约会

题意:          两名蛤丝在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要...

poj1061 青蛙的约会 (数论,扩展欧几里得)

http://poj.org/problem?id=1061 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬...

POJ1061 青蛙的约会 (扩展欧几里德)

本文出自:http://blog.csdn.net/svitter 题意:青蛙绕圈跳, 初始位置X,Y,速度M,N,方向相反,L为模。最后能否相遇?相遇时间是什么? 本题目为扩展欧...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)