1 条题解

  • 0
    @ 2025-10-8 16:51:10
    #include<bits/stdc++.h> 
    using namespace std;
    typedef long long LL;
    int main()
    {
        LL n, m, L;scanf("%lld%lld%lld", &n, &m, &L);
        n=n/2;
        LL p=L, t=0;
        for(int i=1;i<=m;i++)
        {
            if(L%2==1)L=(L+1)/2+n;
            else      L=L/2;
            if(L==p) {t=i;break;}
        }
        if(t!=0)
        {
            m=m % t;
            for(int i=1;i<=m;i++)
            {
                if(L%2==1)L=(L+1)/2+n;
                else      L=L/2;
            }
        }
        printf("%lld\n", L);
      
        return 0;
    }
    
    • 1

    【模拟】洗牌问题3[AHOI2005] 洗牌

    信息

    ID
    20
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    49
    已通过
    22
    上传者