107011 - 玩具谜题

题解byzzq_helloworld

#include <bits/stdc++.h>
using namespace std;

int main()
{
  int n,m;//定义小人的个数和指令的条数
  cin>>n>>m;//输入n,m
  int pos[n+1];//方向
  string name[n+1];//名字
  for(int i=1; i<=n; i++)
    cin>>pos[i]>>name[i];//输入
  int now=1;//现在指向的小人
  for(int i=1; i<=m; i++)//逐条命令执行
  {
    int a,b;
    cin>>a>>b;
    if(a==pos[now])//左左,右右都是向左
      now-=b;//执行命令
    else//左右,右左往右
      now+=b;//执行命令
    if(now>n)//超出数据的处理
      now-=n;
    if(now<1)//超出数据的处理
      now+=n;
  }
  cout<<name[now]<<endl;//输出最终结果
  return 0;
}