我哭泣了,不信没有人跟我同一种思路的
#include<bits/stdc++.h>
using namespace std;
struct human{
string job;
bool lr; //lr控制小人朝向
};
human p[999999];
int n,m,a[999999],s[999999],i=0; //a控制数数方向 ,s控制数字
int main()
{
scanf("%d%d",&n,&m);
for(i=0;i<n;i++) cin>>p[i].lr>>p[i].job;
for(i=0;i<m;i++) cin>>a[i]>>s[i];
i=0;
for(int j=0;j<m;j++)
{
if(p[i].lr==a[j])//顺时针数数
{
i=i+s[j];//数数终点
i=i%n; //处理环形溢出
else //逆时针数数
{
i=i-s[j];//数数终点
if(i>=0) i=i%n;
else i=n-(-i%n);
}
}
cout<<p[i].job;
return 0;
}