代码如下
#include<cstdio>
#include<cstring>
#define maxn 100010
#define maxstr 15
using namespace std;
struct Man
{
char str[maxstr];
int twd;
};
void print_man(Man man[], int n)
{
for(int i = 0; i<n; i++)
printf("%d %s\n", man[i].twd, man[i].str);
}
void go(Man man[], int n, int right, int num, int& pos)
{
int mv;
if(man[pos].twd ^ right)
mv = 1;
else
mv = -1;
for(int i = 0; i<num; i++)
{
pos = (pos + mv + n)%n;
}
}
int main()
{
Man man[maxn];
int n, m;
scanf("%d%d", &n, &m);
for(int i = 0; i<n; i++)
{
scanf("%d", &man[i].twd);
scanf("%s", man[i].str);
}
int pos = 0;
for(int i = 0; i<m; i++)
{
int right, num;
scanf("%d%d", &right, &num);
go(man, n, right, num, pos);
}
printf("%s", man[pos].str);
return 0;
}