按照题意模拟就好
#include<cstdio>
struct node{
int fa;
char name[20];
}q[100100];
int main(){
freopen("testdata.in","r",stdin);
int n,m,i,f,num,h=0;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)scanf("%d%s",&q[i].fa,q[i].name);
//i从1开始 PAC
for(i=0;i<m;i++){
scanf("%d%d",&f,&num);
if(q[h].fa==f)h=(h-num+n)%n;
else h=(h+num)%n;
}
printf("%s",q[h].name);
return 0;
}
总结
简单模拟