为什么会超时。。。
查看原帖
为什么会超时。。。
398155
某kob在此楼主2020/10/28 19:31

就#2超了时也不知是为什么。。。。

#include<bits/stdc++.h>
using namespace std;

struct asdf
{
    long long num,room;
}a[10002][202];

int main()
{
    long long key = 0, n, m, now, i, j, k, l[10002];
    scanf("%lld%lld", &n, &m);
    
    for(i = 1; i <= n; i ++)
        for(j = 0; j < m; j ++)
        {
            scanf("%lld%lld", &a[i][j].room, &a[i][j].num);
            if(a[i][j].room == 1)
                l[i] ++;
        }
    scanf("%lld", &now);
    i = 1;
    while(i <= n)
    {
        key += a[i][now].num;
        key %= 20123;
        k = 0;
        for(j = now; ;j ++)
        {
            if(j == m)
                j = 0;

            if(a[i][j].room == 1)
                k ++;

            if(k == (a[i][now].num - 1) % l[i] + 1)
                break;
        }
        now = j;
        i ++;
    }
    printf("%lld",key);
    return 0;
}

反正很奇怪。。。

2020/10/28 19:31
加载中...