原题链接P1563 玩具谜题
这道题依然是一道模拟题目,就简单讲讲坑点:
1.有些时候在转圈的时候要用到它们站成了一个环的性质!
2.小人面朝的方向影响了它们左右的方向!
3.注意考虑顺时针逆时针与小人面朝的关系就可以很轻松解决!
下面水一波代码:
p.s.这是NOIP2016的提高组的D1T1
#include<bits/stdc++.h>
using namespace std;
int n,m,u,s=1,fz,l_or_r[100000+1]; //l_or_r:left or right
string name[100000+1];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>l_or_r[i]>>name[i];
}
for(int i=1;i<=m;i++)
{
cin>>fz>>u;
if(l_or_r[s]==fz)
s-=u;
else s+=u;//分别考虑向内和向外的方向
if(s<=0)
{
s+=n;
}
else
if(s>n)
{
s-=n;//特殊判断是否有需要用到环的性质的
}
}
cout<<name[s]<<endl;
return 0;
}
ov.