题解:模拟,弄清方向后,去解决问题,问题便迎刃而解。人真的最容易被自己打败,刚开始想复杂了,其实,理清思路并不难。
#include<iostream>
#include<cstdio>
using namespace std;
const int N=100005;
struct node
{
int d;
string str;
}a[N];
int n,m;
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a[i].d>>a[i].str;
}
int c,dr1,f=0;
for(int i=0;i<m;i++){
cin>>dr1>>c;
int dr;
dr=dr1^a[f].d;
if(dr==0){
f=(n+f-c)%n;
}
else{
f=(f+c)%n;
}
}
cout<<a[f].str<<endl;
return 0;
}