【基础算法-模拟-例题-玩具谜题】-C++

原题链接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.

上一篇:洛谷 P1563 玩具谜题


下一篇:NOIP 2016 玩具谜题