题目背景
NOIP2016 提高组 D1T1

题目描述
小南有一套可爱的玩具小人, 它们各有不同的职业。

有一天, 这些玩具小人把小南的眼镜藏了起来。 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图:

这时singersinger告诉小南一个谜題: “眼镜藏在我左数第3个玩具小人的右数第11个玩具小人的左数第22个玩具小人那里。 ”

小南发现, 这个谜题中玩具小人的朝向非常关键, 因为朝内和朝外的玩具小人的左右方向是相反的: 面朝圈内的玩具小人, 它的左边是顺时针方向, 右边是逆时针方向; 而面向圈外的玩具小人, 它的左边是逆时针方向, 右边是顺时针方向。

小南一边艰难地辨认着玩具小人, 一边数着:

singersinger朝内, 左数第33个是archerarcher。

archerarcher朝外,右数第11个是thinkerthinker。

thinkerthinker朝外, 左数第22个是writewriter。

所以眼镜藏在writerwriter这里!

虽然成功找回了眼镜, 但小南并没有放心。 如果下次有更多的玩具小人藏他的眼镜, 或是谜題的长度更长, 他可能就无法找到眼镜了 。 所以小南希望你写程序帮他解决类似的谜題。 这样的谜題具体可以描述为:

有 nn个玩具小人围成一圈, 已知它们的职业和朝向。现在第11个玩具小人告诉小南一个包含mm条指令的谜題, 其中第 zz条指令形如“左数/右数第ss,个玩具小人”。 你需要输出依次数完这些指令后,到达的玩具小人的职业。

输入格式
输入的第一行包含两个正整数 n,mn,m,表示玩具小人的个数和指令的条数。

接下来 nn 行,每行包含一个整数和一个字符串,以逆时针为顺序给出每个玩具小人的朝向和职业。其中 00 表示朝向圈内,11 表示朝向圈外。 保证不会出现其他的数。字符串长度不超过 1010 且仅由小写字母构成,字符串不为空,并且字符串两两不同。整数和字符串之间用一个空格隔开。

接下来 mm 行,其中第 ii 行包含两个整数 a_i,s_ia
i

,s
i

,表示第 ii 条指令。若 a_i=0a
i

=0,表示向左数 s_is
i

个人;若 a_i=1a
i

=1,表示向右数 s_is
i

个人。 保证 a_ia
i

不会出现其他的数,1 \le s_i < n1≤s
i

<n。

输出格式
输出一个字符串,表示从第一个读入的小人开始,依次数完 mm 条指令后到达的小人的职业。

输入输出样例
输入 #1复制
7 3
0 singer
0 reader
0 mengbier
1 thinker
1 archer
0 writer
1 mogician
0 3
1 1
0 2
输出 #1复制
writer
输入 #2复制
10 10
1 C
0 r
0 P
1 d
1 e
1 m
1 t
1 y
1 u
0 V
1 7
1 1
1 4
0 5
0 3
0 1
1 6
1 2
0 8
0 4
输出 #2复制
y
说明/提示
【样例1说明】

这组数据就是【题目描述】 中提到的例子。

【子任务】

子任务会给出部分测试数据的特点。 如果你在解决题目中遇到了困难, 可以尝试只解决一部分测试数据。

每个测试点的数据规模及特点如下表:

其中一些简写的列意义如下:

• 全朝内: 若为“√”, 表示该测试点保证所有的玩具小人都朝向圈内;

全左数:若为“√”,表示该测试点保证所有的指令都向左数,即对任意的

1≤z≤m, a_i=01≤z≤m,a
i

=0;

s= 1s=1:若为“√”,表示该测试点保证所有的指令都只数1个,即对任意的

1≤z≤m,s_i=11≤z≤m,s
i

=1;

职业长度为11 :若为“√”,表示该测试点保证所有玩具小人的职业一定是一个

长度为11的字符串。

#include <iostream>
using namespace std;
const int N = 1e6 + 5;struct node {int head;string occa;
} d[N];
int k = 0, a, b, n, m;int main()
{cin >> n >> m;for (int i = 0; i < n; i ++ )cin >> d[i].head >> d[i].occa;while (m --){cin >> a >> b;if ((!d[k].head && a) || (d[k].head && !a)){k = (k + b) % n;//下标升序数}else if ((d[k].head && a) || (!d[k].head && !a)){k = (k + n - b) % n;//下标降序数(加n取余防止出现负数下标}}cout << d[k].occa;return 0;
}

P1563 [NOIP2016 提高组] 玩具谜题相关推荐

  1. 洛谷P1563 [NOIP2016 提高组] 玩具谜题 C语言 通俗易懂解法

    题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singersi ...

  2. P1850 [NOIP2016 提高组] 换教室

    P1850 [NOIP2016 提高组] 换教室 题意: 有2n个课安排在n个时间段上,每个时间段上都有两个一样的课同时在不同地方上,起初牛牛被所有课都被安排在Ci上课,另一节课在Di上课.牛牛现在想 ...

  3. [NOIP2016 提高组] 愤怒的小鸟

    [NOIP2016 提高组] 愤怒的小鸟 题意: 有n只猪,给出猪的坐标(xi,yi),问最少用几个形如 y=ax^2+bx 的曲线可以保证所有猪在曲线上,满足a<0,a,b为实数 n<= ...

  4. 【NOIP2016提高组】天天爱跑步

    题目背景 NOIP2016 提高组 Day1 T2 题目描述 小 C 同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每 ...

  5. #185. [NOIP2016 提高组] 蚯蚓题解

    #185. [NOIP2016 提高组] 蚯蚓题解 题目描述 本题中,我们将用符号 ⌊c⌋\lfloor c \rfloor⌊c⌋ 表示对 ccc 向下取整,例如:⌊3.0⌋=⌊3.1⌋=⌊3.9⌋= ...

  6. 简单 洛谷 P1563 【模拟】玩具谜题普及场

    ** 简单 洛谷 P1563 [模拟]玩具谜题普及场** 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈 ...

  7. NOIP2016 提高组 解题报告

    说明:由于我能力的限制,文章中的做法不一定是最优秀的算法,但官方数据全部测试通过,使用的全部知识全部是NOIP提高组的知识,请组织放心查看. 感谢 GoodQt 的指导与帮助 DAY1 T1 玩具谜题 ...

  8. 洛谷题目[NOIP2016 提高组]P1563 玩具谜题 详解<每日一题>

    题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singersi ...

  9. NOIP2016提高组复赛解题报告

    Day1 T1-玩具谜题 Day1 T2-天天爱跑步 Day1 T3-换教室 Day2 T1-组合数问题 Day2 T2-蚯蚓 Day2 T3-愤怒的小鸟 转载于:https://www.cnblog ...

  10. JZOJ 4637 大鱼海棠【NOIP2016提高组A组7.16】

    大鱼海棠 (该名字来自于某部电影) 题目大意 给出一棵有n个节点,根节点为1的树. 现在,有两个人在玩游戏,他们绝顶聪明,我们暂且称他们为AA和BB,他们轮流对这棵树进行操作,AA先手,BB后手,每次 ...

最新文章

  1. vue组件中的样式属性:scoped,解决在父组件中无法修改子组件样式问题
  2. 当代的设计潮流是什么_12月,潮流咖的出行攻略!
  3. 跟开涛学 SpringMVC
  4. socket 编程入门教程(一)TCP server 端:7、接收与发送
  5. for相关 java_Java学习之for循环相关知识梳理
  6. 15款Cocos2d-x游戏源码
  7. python输出星号等腰三角形_python输出星号字符组成的等边三角形
  8. 年薪30W前端程序员,需要吃透的前端书籍推荐
  9. 人脸生成:Beyond Face Rotation: Global and Local Perception GAN
  10. springboot属性配置
  11. twisted系列教程二–缓慢的诗
  12. 有限元分析简单实例之平面矩形薄板(matlab)
  13. html中文字放在图片下边,css图片下边怎么加字
  14. OA系统高性能解决方案(史上最全的通达OA系统优化方案)
  15. OpenHarmony代码下载编译流程记录
  16. 工程项目管理系统-专注项目数字化管理-工程管理
  17. Java: 聚合数据API接口调用城市天气预报
  18. iPhone手机屏幕三种故障及维修方法
  19. java与模式(一)
  20. java ee 系统视频_更好的网站登录系统,EE协作登录系统

热门文章

  1. 详解IT服务管理(ITSM)流程五阶段
  2. 用springboot+netty搭建在线web聊天室
  3. 硬盘常见接口类型详解
  4. Head First Java
  5. 日记 [2007年11月19日]...
  6. 触摸板不小心卸载,触摸板重装,触摸板没有开关选项
  7. 阿里云弹性计算研发团队如何从0到1自建SRE体系
  8. python平稳性检验程序_用 Python 检验时间序列的平稳性
  9. 好学易懂 从零开始的插头DP(一)
  10. ssm基于java的线上阅读平台的设计与实现毕业设计源码291023