原题:
原题直接上链接。
题意:
n个人围成一圈,每个人都有自己的名字和自己的朝向(朝圈内或者朝圈外),之后有m个指令,0代表向左手数,1表示向右手数。问最终指向谁。
题解:
模拟水题一道,唯一要注意的就是看清题目,编号是按逆时针转的,不要因为水题就大意(虽然我也因此WA了一次),任何时间都要认真审题。
附上代码:
#include <iostream>
#include <string>
using namespace std;
int n,m;
struct pr
{
int x;
string name;
}st[100005];
int main()
{
int c,w;
cin>>n>>m;
int ans=1;
for(int i=1;i<=n;i++)
{
cin>>st[i].x>>st[i].name;
}
for(int j=0;j<m;j++)
{
cin>>c>>w;
if(st[ans].x==0)
{
if(c==1)
ans=(ans+w)%n;
else
ans=(ans+n-w)%n;
}
else
{
if(c==1)
ans=(ans+n-w)%n;
else
ans=(ans+w)%n;
}
if(ans==0)ans=n;
}
cout <<st[ans].name<< endl;
return 0;
}
欢迎评论!