题目描述

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

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

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

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

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

singer 朝内,左数第 33 个是 archer

archer 朝外,右数第 11 个是 thinker

thinker 朝外,左数第 22 个是 writer

“所以眼镜藏在 writer 这里!”

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

有 nn 个玩具小人围成一圈,已知它们的职业和朝向。现在第 11 个玩具小人告诉小南一个包含 mm 条指令的谜题,其中第 ii 条指令形如“左数/右数第 sisi 个玩具小人”。

你需要输出依次数完这些指令后,到达的玩具小人的职业。

输入格式

从标准输入读入数据。

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

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

接下来 mm 行,其中第 ii 行包含两个整数 ai,siai,si,表示第 ii 条指令。若 ai=0ai=0,表示向左数 sisi 个人;若 ai=1ai=1,表示向右数 sisi 个人。 保证 aiai 不会出现其他的数,1≤si<n1≤si<n。

输出格式

输出到标准输出。

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

样例一

input

7 3
0 singer
0 reader
0 mengbier
1 thinker
1 archer
0 writer
1 mogician
0 3
1 1
0 2

output

writer

explanation

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

样例二

input

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

output

y

思路:  总的来说,这是一道很简单的模拟题,要注意的地方就是小人的方向和指令表示的方向。
对于转圈来说,可以用取模来模拟,取模要注意的是
对位置做减法的时候应该加上一个模值再取模。 下面贴代码,比较简洁。
#include<iostream>
#include<string>
using namespace std;
string name[+];
bool c[+];
int main(){
int n,m;
cin >> n >> m;
for(int i = ; i < n;i++)cin >> c[i] >>name[i];
int ans = ;
while(m--){
int a,b;
cin >> a >> b;
if((a == && c[ans])||(a == && !c[ans]))ans = (ans + b) % n;  
else ans = (ans + n - b) % n;
}
cout << name[ans]<<endl;
return ;
}

 

NOIP2016 DAY1 T1 玩具谜题的更多相关文章

  1. noip 2016 day1 T1玩具谜题

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

  2. 【NOIP2016 Day1 T1】玩具谜题

    原题:https://www.luogu.org/problemnew/show/P1563 题目大意:有N个人围成一个圈,给定一串未化简的物品移动关系,要求你通过这些未化简的关系以及起始段的编号,求 ...

  3. Noip2016提高组 玩具谜题toy

    Day 1 T1 题目大意 一些naive的玩具小人把小南的眼镜藏起来,但小南有一份too simple的小纸条,告诉小南眼镜在第一个小人往哪数第几个的往哪数的第几个的往哪数第几个的往哪数的第几个的往 ...

  4. [Noip2017][Day 1][T1]玩具谜题(toy.cpp)

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

  5. Luogu P1563 [NOIp2016提高组]玩具谜题 | 模拟

    题目链接 纯模拟题,没啥好说的,就是要判断地方有点多,一定要注意细节. #include<iostream> #include<cstdio> #include<fstr ...

  6. 洛谷P1563 [NOIP2016 提高组] 玩具谜题

    题目链接:https://www.luogu.com.cn/problem/P1563 哈哈哈,这个题拿来一读是不是很吃惊hahaha,我刚开始读的时候吓了我一跳,这么长的题干,这么绕的题意,还有下面 ...

  7. NOIP day1 玩具谜题

    逻辑有一些复杂,但是理解之后就很简单.题目描述中mogician什么的太暴力了...-1s 按照题目描述模拟,就能满分. /* Au: GG * CCF NOIP2016 day1 * toy */ ...

  8. 玩具谜题(NOIP2016)

    题目链接:玩具谜题 提高组日常水题. 直接模拟,有需要注意的点会在代码后讲解: #include<bits/stdc++.h> using namespace std; int main( ...

  9. [题解]玩具谜题(toy)

    玩具谜题(toy) 来源:noip2016 提高组 day1 [题目描述] 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个 ...

随机推荐

  1. Problem 13

    Problem 13 # Problem_13 """ Work out the first ten digits of the sum of the following ...

  2. 3、用js文件写mongo命令+update命令

    一.用js写一个模拟用户登录日志表的信息 var userName = "chengxiang"; //声明一个登录名 var timeStamp = Date.parse(new ...

  3. 【CodeForces 574B】Bear and Three Musketeers

    [链接] 我是链接,点我呀:) [题意] [题解] 枚举每一条边(x,y) 然后再枚举y的出度z 看看g[x][z]是否等于1(表示联通) 如果等于1就说明找到了一个三元环,则尝试用它们的出度和-6更 ...

  4. 【hihocoder 1308】搜索二·骑士问题

    [题目链接]:http://hihocoder.com/problemset/problem/1308 [题意] [题解] 用bfs处理出3个骑士到每个点的最短路; 然后枚举最后3个骑士到了哪一个点. ...

  5. HDU 2874

    简单的tarjan #include <iostream> #include <cstdio> #include <cstring> #include <al ...

  6. jQuery验证所有输入合法后才干提交

    大学三年里所有在专注后台编码.学会不知多少种,servlet.ssh,springMVC,web.py...... 最后每次碰到前端自己要写点东西就满目愁抑, 干脆自己好好理解一段前端代码, 特地拿出 ...

  7. CF 372B Counting Rectangles is Fun [dp+数据维护]

    题意,给出一个n行m列的矩阵 里面元素是0或者1 给出q个询问 a,b,c,d 求(a,b)到(c,d)有多少个由0组成的矩形 我们定义 watermark/2/text/aHR0cDovL2Jsb2 ...

  8. 彻底禁用resource manager

    禁用resource manager 由于发现系统的一个等待事件:resmgr:cpu quantum.这是由于resource manager的原因.看来resource manager 的bug还 ...

  9. Mac OSX Yosemite 10.10 brew 错误:mktemp: mkdtemp failed on /tmp/git-LIPo: No such file or directory

    这个问题困扰了我非常久非常久.使得我不得不花一点时间来说一下解决方法. 事情是这种:前两天兴高採烈的更新了一下宝贝mac到10.10. 一切看起来都那么美好,可是. .当我又一次安装magento的时 ...

  10. HDU 3861--The King’s Problem【scc缩点构图 &amp;&amp; 二分匹配求最小路径覆盖】

    The King's Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...