洛谷普及试炼场P1563 玩具谜题
题解:
题目很简单,需要模拟一下寻找的过程。由于各职业朝向分内外,题目要求分左右,故简化为顺时针操作与逆时针操作即可
#include<bits/stdc++.h>
using namespace std;
struct
{
int face;
string name;
} mmp[1000005];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1; i<=n; ++i)
cin>>mmp[i].face>>mmp[i].name;
bool reversal;
int x,y,ans=1;
while(m--)
{
cin>>x>>y;
if(mmp[ans].face==0&&x==1||mmp[ans].face==1&&x==0)
reversal=false;
else
reversal=true;
if(!reversal)
{
ans+=y;
if(ans>n)
{
ans%=n;
if(ans==0)
ans=n;
}
}
else
{
ans-=y;
while(ans<=0)
ans+=n;
}
}
cout<<mmp[ans].name;
return 0;
}