[题目通道]([NOIP2016 提高组] 玩具谜题 - 洛谷)
cpp
#include<bits/stdc++.h>
using namespace std;
long long qw[300000];
string we[300000];
long long er[300000];
long long rt[300000];
int main(){
long long a,s,d=1,f,g;
cin>>a>>s;
for (int i=1;i<=a;i++)
{
cin>>qw[i]>>we[i];
}
for (int i=1;i<=s;i++)
{
cin>>er[i]>>rt[i];
}
for (int i=1;i<=s;i++)
{
if (qw[d]==0)
{
if (er[i]==0)
{
d-=rt[i];
}
if (er[i]==1)
{
d+=rt[i];
}
if (d>a)
d=d-a;
else if (d<=0)
d+=a;
}
else if (qw[d]==1)
{
if (er[i]==0)
{
d+=rt[i];
}
if (er[i]==1)
{
d-=rt[i];
}
if (d>a)
d=d-a;
else if (d<=0)
d+=a;
}
}
cout<<we[d];
return 0;
}