题目内容
大意:一圈小人,有的面朝内,有的面朝外,先告诉你你的眼镜被xx向左/右数的xx人那里,还原眼镜的位置
解题思路
大水题,大模拟,只需注意减到小于0和大于n的情况即可。注意判断内外左右即可
#include <iostream>
#include <string>
const int maxn=1e5+5;
int n,m;
bool face[maxn];
std::string s[maxn];
int main()
{
std::ios::sync_with_stdio(false);//加速cin
std::cin>>n>>m;
for(int i=1;i<=n;i++)
std::cin>>face[i]>>s[i];
int cur=1;
bool a;
int b;
for(int i=1;i<=m;i++)//在线处理指令
{
std::cin>>a>>b;
if(!a)
b=-b;
if(face[cur])
b=-b;
cur+=b;
if(cur<1)
cur+=n;
if(cur>n)
cur%=n;
}
std::cout<<s[cur]<<std::endl;
return 0;
}
留言