noip2016d1t1(玩具谜题)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
  string a[100001];
  int b[100001],q[100001],w[100001];
  int m,n,k=1;
  cin>>n>>m;
  for(int i=1;i<=n;i++){cin>>b[i]>>a[i];}
  for(int i=1;i<=m;i++) {cin>>q[i]>>w[i];}
  for(int i=1;i<=m;i++)
  {
  if(q[i]==0&&b[k]==0)
  {
    k-=w[i];
    if(k<=0)
    {
      k+=n;
    }
  }
  else if(q[i]==0&&b[k]==1)
  {
    k+=w[i];
    if(k>n)
    {
      k-=n;
    }
  }
  else if(q[i]==1&&b[k]==1)
  {
    k-=w[i];
    if(k<=0)
    {
      k+=n;
    }
  }
  else if(q[i]==1&&b[k]==0)
  {
    k+=w[i];
    if(k>n) k-=n;
  }
  }
cout<<a[k];
return 0;
}

原文地址:https://www.cnblogs.com/Chri-K/p/13683562.html