1 条题解

  • 0
    @ 2025-8-24 23:12:26

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Needna
    Think Twice Code Once.

    搬运于2025-08-24 23:12:26,当前版本为作者最后更新于2025-04-06 14:16:43,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    思路分析:首先发现这个题和 mm 一点关系没有,接下来思考一段把总时间分成许多整除的时间,即:

    int x=b/__gcd(a,b);//x表示转x次整除b
    

    注意到每转 xx 次会经历 x+a×x÷b1x+a \times x\div b-1 次操作。然后再算出用多少个这样的整除时间可以回到原点,求最大公因数即可。

    ac code:

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    int a,m1,m2,b,ans; 
    signed main(){
        cin>>a>>m1>>b>>m2;
        int x=b/__gcd(a,b); 
        int bian=a*x/b;
        int k=m2/__gcd(bian,m2);
        cout<<k*(x+bian-1);
        return 0;
    }
    
    • 1

    信息

    ID
    11804
    时间
    1000ms
    内存
    512MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者