这里我让顺时针是正方向,所以我让顺时针的cnt都++,相反,逆时针都设成了--
#include <iostream>
#include <cstdio>
using namespace std;
int face[100000];
string name[100000];
int main()
{
int r, s;
int m, n;
int cnt=1;
cin >> m >> n;
for (int i = 1; i <= m; i++)
{
cin >> face[i] >> name[i];
}
for (int j = 1; j <= n; j++)
{
cin >> r >> s;
if ((r == 0&&face[cnt]==0)||(face[cnt]==1&&r==1))
{
for (int a = 1; a <= s; a++)
{
cnt++;
if (cnt==m&&a<s) cnt = 0;
}
}
continue;
if ((r == 1 && face[cnt] == 0) || (face[cnt] == 1 && r == 0))
{
for (int a = 1; a <= s; a++)
{
cnt--;
if (cnt == 1&&a<s) cnt = m+1;
}
}
}
cout << name[cnt];
return 0;
}