一·题目描述:
原题链接https://www.luogu.com.cn/problem/P1563
二.代码示例:
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
struct person
{
int c;
string str;
}p[N];
int main()
{
int n, m, a, s;
cin >> n >> m;
for(int i = 0 ; i < n ; i++) cin >> p[i].c >> p[i].str;
int y = 0;
while(m--)
{
scanf("%d%d",&a,&s);
if(a != p[y].c) y = (y + s) % n;
else y = (y - s + n) % n;
}
cout << p[y].str;
}
三.总结:
通过分析可以发现当读入方向与玩具人位置方向的数字相同时顺时针枚举(题目读入顺序为逆时针),否则反之。