Time Limit: 1000MS | Memory Limit: 65536KB | 64bit IO Format: %I64d & %I64u |
Description
我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。
Input
Output
Sample Input
1 2 3 4 5
Sample Output
4
向对手致敬,避免了复杂的讨论情况,用循环作为条件
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long x, y, m, n, l;
scanf("%lld %lld %lld %lld %lld", &x, &y, &m, &n, &l);
m=m%l, n=n%l;
int a=x, b=y;
int flag=0;
int num=0;
while(1)
{
num++;
x=(x+m)%l;
y=(y+n)%l;
if(x==y)
{
flag=1;
break;
}
if(x==a&&y==b)
{
break;
}
}
if(flag==0)
{
printf("Impossible\n");
}
else
{
printf("%d\n",num);
}
return 0;
}