1 条题解

  • 1
    @ 2022-6-12 10:27:43
    #include <cstdio>
    #include <iostream>
    using namespace std;
    
    long long n,m,a[10001][101],b[10001][101],c[10001],sum,k,ans,q;
    
    int main()
    {
        scanf("%lld%lld",&n,&m);
        for (int i=1;i<=n;i++)
         for (int j=0;j<=m-1;j++)
         {
            scanf("%lld%lld",&a[i][j],&b[i][j]);
            c[i]+=a[i][j];  //c[i]记录第i层楼梯总数
         } 
        scanf("%lld",&k);
        for (int j=1;j<=n;j++)
        {
            sum+=b[j][k];  //记录答案
            ans=0;
            q=k;
            b[j][q]=(b[j][q]-1)%c[j]+1;  //减去多余部分
            while (ans<b[j][q])
            {
                ans+=a[j][k];  //如上
                if (ans==b[j][q]) break;
                k++;
                if (k==m) k=0;
            }
        }
        printf("%lld\n",sum%20123);  //输出(别忘了%20123)
    }
    
    • 1

    信息

    ID
    77
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    11
    已通过
    8
    上传者