模拟——玩具谜题
2017-08-28 20:07
239 查看
题目来源
洛谷P1563玩具谜题https://www.luogu.org/problem/show?pid=1563
思路
结构体存小人信息(名字toy[i].na+方向toy[i].dir[朝圈外1 朝圈内-1])pos表示当前位置
输入步骤(方向d[向左-1 向右1]+步数s)
则pos=(pos-d*toy[pos].dir*s)
(
向左&&朝外==向右&&朝内==逆时针 => pos=pos-s(mod n&&pos>0)
向左&&朝内==向右&&朝外==顺时针 => pos=pos+s(mod n&&pos>0)
)
代码(C++)
#include <iostream> #include <cstdio> #include <string> using namespace std; int n,m,pos=1,d,s; struct p{int dir;string na;}toy[100010]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>toy[i].dir>>toy[i].na; if(toy[i].dir==0) toy[i].dir=-1; } for(int i=1;i<=m;i++) { cin>>d>>s; s=s%n; if(d==0) d=-1; if(d*toy[pos].dir==-1) { pos+=s; pos%=n; } else { pos=pos-s; pos%=n; pos+=n; pos%=n; } if(pos==0) pos=n; } cout<<toy[pos].na; return 0; }
相关文章推荐
- 模拟(玩具谜题NOIP 2016 提高组 Day 1 第一题vijos2003)
- 洛谷1563(NOIP2016)[玩具谜题]--模拟
- 洛谷Oj-P1563 玩具谜题-模拟
- 【模拟】[NOIP2016&2015]玩具谜题&神奇的幻方
- [模拟]玩具谜题
- [NOIP] [模拟] NOIP2016Day1 玩具谜题
- 记录个人在洛谷试练场做题历程:模拟,玩具谜题
- 【模拟】玩具谜题 luogu-1563
- UOJ 260(模拟)(玩具谜题)
- 玩具谜题
- noip2016d1t1 玩具谜题
- [NOIP2016] 玩具谜题
- luogu P1563 玩具谜题(NOIP 2016TG)
- 【NOIP2016】洛谷1563 玩具谜题
- 玩具谜题 NOIP2016 提高组 Day1 T1
- 洛谷 P1563 [NOIP2016 D1T1] 玩具谜题
- 【codevs 6280】玩具谜题
- 【JZOJ 5276】【清华集训2017模拟】神奇的玩具
- [NOIP2017模拟]分玩具
- NOIP day1 玩具谜题