问题标题: 酷町堂:1576 跑步

0
0
张睿杰
张睿杰
初级天翼
初级天翼

1576   跑步

题目描述 Description

假设圆形跑道的长度为 L,出发点的位置为原点 0,顺时针方向为正方向。这样我们就得到了一条首尾相接的数轴。设小明的出发点坐标是 x,小白的出发点坐标是 y。小明一步能走 m 米,小白一步能走 n 米。现在请你来算一算,它们走了多少步以后才会碰面。

输入描述 Input Description

输入一行,输入 5 个整数x,y,m,n,L,其中 x≠y<2×10^​9,0 < m, 0<m,n<2×10^9, 0<L<2.1*10^9, 0<L<2.1×10^9​​ 。x 和 y 分别表示小明和小白出发的位置,m 和nn 分别表示小明和小白每一步走的步长,L 表示圆形跑道的长度。

输出描述 Output Description

输出一行,如果小明和小白永远不可能碰面,则输出Impossible,否则输出它们需要走多少步才会碰面。

样例输入 Sample Input

1 2 3 4 5

样例输出 Sample Output

4

求各位大佬教如何套公式

1
黄昊轩
黄昊轩
新手守护
新手守护

公式(y-x)/(m-n或n-m) 可以

0
0
李瑞曦
李瑞曦
高级天翼
高级天翼

好多挖文者,我也+1;

0
袁翊凡
袁翊凡
新手光能
新手光能

这个东西,数论表示不会

0
0
0
0
0
舒航
舒航
新手守护
新手守护

公式(y-x)/(m-n或n-m)

剩下的你套下就行了

0
0
0
0
0
0
0
0
0
0
祝明朗
祝明朗
初级光能
初级光能
printf("Impossible");

这样写能骗20分

 

0
0
0
杜文博
杜文博
资深守护
资深守护

核心代码:

long long myabs(long long a)

{

    while(a<=0)

    {

         a=(a+l);

     }

return a;

}

0
0
王文博
王文博
缔造者之神
缔造者之神

公式(y-x)/(m-n或n-m)

0
王文博
王文博
缔造者之神
缔造者之神

直接套公式就可以啦

0
0
刘睿轩
刘睿轩
中级光能
中级光能

老张,这是奥数题,数论+函数

0
张睿杰
张睿杰
初级天翼
初级天翼

你告诉我这个我咋做?我不知道公式

0
0
0
赵航宇
赵航宇
资深守护
资深守护

40分代码的核心(借你参考参考):

 while(x!=y)
        {
            x+=m;
            y+=n;
            if(x>=l)
                x-=l;
            if(y>=l)
                y-=l;
            s++;
            if(x==y)
            {
                cout<<s;
                return 0;
            }

望采纳!!!

0
我要回答