rt,代码调了半个小时(太蒻了!!):
#include <bits/stdc++.h>
#define int long long
int ans=1,n,m;
using namespace std;
struct node {
int cx;
string name;
} a[2000001];
signed main() {
cin>>n>>m;
for (int i=1;i<=n;i++) cin>>a[i].cx>>a[i].name;
for (int i=1;i<=m;i++) {
int x,y;
cin>>x>>y;
if (a[ans].cx==0 && x==0) ans=ans+n-y;
else if (a[ans].cx==0 && x==1) ans=ans+y;
else if (a[ans].cx==1 && x==0) ans=ans+y;
else if (a[ans].cx==1 && x==1) ans=ans+n-y;
ans%=n;
}
cout<<a[ans].name;
return 0;
}