方法:
思维题,列数学式子,以时间t为未知数,列相等关系,因为是转圈,所以要不断取余。
判断不可能的条件是当两只青蛙怎么跳都是回到原来的位置而且二者的初始位置也不同,那么就不可能相遇。
AC代码:
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int x,y,m,n,l;
scanf("%d%d%d%d%d",&x,&y,&m,&n,&l);
for(int i=0;;i++)
{
if((x+m*i)%l==(y+n*i)%l)
{
printf("%d\n",i);
return 0;
}
else if((x+m*i)%l==x&&(y+n*i)%l==y&&i!=0)
break;
}
printf("Impossible\n");
return 0;
}