题目内容

P1563

大意:一圈小人,有的面朝内,有的面朝外,先告诉你你的眼镜被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;
}
最后修改日期:2020年2月13日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。