玩具谜题

#include <bits/stdc++.h>
using namespace std;
struct person {
    string name;
    int turn;
} li[100001];
int main() {
    int n, m;
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        cin >> li[i].turn >> li[i].name;
        if (li[i].turn == 0)
            li[i].turn = 1;
        else
            li[i].turn = -1;
    }
    int now = 1;
    while (m--) {
        int turn;
        int dis;
        cin >> turn >> dis;
        if (turn == 0)
            turn = -1;
        turn = li[now].turn * turn;
        now += turn * dis;
        if (now > n)
            now -= n;
        if (now <= 0)
            now += n;
    }
    cout << li[now].name;
}

点赞

发表回复