为什么会有4个TLE
查看原帖
为什么会有4个TLE
370941
Sakura4869楼主2022/9/7 18:15

纯模拟,9、10、11、13TLE了

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

const int MAXN = 1e6 + 5;
int n,m;

int dir[MAXN];
string job[MAXN];
int count1(int r,int x){
    int ans = r;
    for(int i = 1;i <= x;i++){
        ans = (ans + n) % n + 1;
    }
    return ans;
}
int count2(int r,int x){
    int ans = r;
    for(int i = 1;i <= x;i++){
        ans = (ans + n - 2) % n + 1;
    }
    return ans;
}
int main(){
    scanf("%d%d",&n,&m);
    for(int i = 1;i <= n;i++){
        scanf("%d",&dir[i]);
        cin >> job[i];
    }
    int ANS = 1;
    for(int i = 1;i <= m;i++){
        int a,s;
        scanf("%d%d",&a,&s);
        if(a == dir[ANS])ANS = count2(ANS,s);
        else ANS = count1(ANS,s);
    }
    cout << job[ANS];
    return 0;
}
2022/9/7 18:15
加载中...