原题链接 来自洛谷https://www.luogu.com.cn/problem/P1563
#include <bits/stdc++.h>
using namespace std;
char name[100100][12];
int fward[100100];
int main()
{
int i, j, t;
int n, m;
scanf("%d%d", &n, &m);
for (i = 0; i < n; i++)
scanf("%d %s", &fward[i], &name[i]);
t = 0;
while (m--)
{
scanf("%d%d", &i, &j); // 方向,次数
j %= n; // 防止j过大
if (i == 0) // 向左
{
if (fward[t]) t += j; // 向外
else t -= j;
}
else // 向右
{
if (fward[t]) t -= j; // 向外
else t += j;
}
if (t >= n) t -= n;
if (t <= -1) t += n;
//printf ("_%s\n", name[t]);
}
printf ("%s", name[t]);
return 0;
}