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

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

这时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 行包含两个整数 ai,si,表示第i 条指令。若a i=0,表示向左数 si个人;若 ai=1,表示向右数 si个人。 保证 ai不会出现其他的数,si < n1
输出格式:
输出一个字符串,表示从第一个读入的小人开始,依次数完 mm 条指令后到达的小人的职业。

#include<stdio.h>
#include<iostream>
using namespace std;
int a[100005];
char b[100005][13];
int main()
{int n,m;cin>>n>>m;for(int i=1;i<=n;i++){scanf("%d %s",&a[i],b[i]);}int p=1;for(int i=0;i<m;i++){int ai,s;scanf("%lld %lld",&ai,&s);if((a[p]==0&&ai==0)||(a[p]==1&&ai==1)){//朝内往左逆时针找 if(p-s<1){p=p+n-(s%n);}else{p=p-s;}   }else{  //否则顺时针找; p=(s+p)%n;}}if(p==0)//如果出现正好除尽的情况  即p==0时 p+=n; p+=n;printf("%s\n",b[p]);return 0;
}
发表人  徐小宝;

简单 洛谷 P1563 【模拟】玩具谜题普及场相关推荐

  1. 模拟——玩具谜题(洛谷 P1563)

    模拟算法指的是让程序完整地按照题目叙述的方式运行得到答案! 此题选自洛谷P1563 简单的模拟,类似约瑟夫问题的部分,采用取余的方式. 需要注意的是朝向问题,用一个结构体来保存每个人的朝向即可. 题目 ...

  2. 洛谷 P1563 玩具谜题

    这里给出题目的链接洛谷 P1563 玩具谜题 分析题目,很明显可以知道人物可以用数字来表示,将人物的名字单独存在一个数组里面,获取最终人物对应的数字后,即可输出人物的名称,即这道题的答案. 这道题可以 ...

  3. 洛谷 P3195 [HNOI2008]玩具装箱 —— 斜率优化

    This way 题意: 题解: 洛谷的题解就写的蛮好,首先对于斜率优化,先将它的转移方程写出来,然后对于只包含i的设为A,只包含j的设为B,然后对于含有A和B的项就是二元一次方程中的k和x 这个就可 ...

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

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

  5. 玩具谜题(洛谷-P1563)

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

  6. 洛谷mNOIP模拟赛Day2-入阵曲

    题目背景 pdf题面和大样例链接:http://pan.baidu.com/s/1cawM7c 密码:xgxv 丹青千秋酿,一醉解愁肠. 无悔少年枉,只愿壮志狂. 题目描述 小 F 很喜欢数学,但是到 ...

  7. 洛谷 P1202 模拟 - 黑色星期五 Friday the Thirteenth

    [题目描述] 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+ ...

  8. 洛谷P3195 [HNOI2008]玩具装箱TOY

    题目:https://www.luogu.org/problemnew/show/P3195 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压 ...

  9. 洛谷P3195 [HNOI2008]玩具装箱TOY(单调队列优化DP)

    题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具, ...

最新文章

  1. Linux curl API 使用 C语言
  2. 我同事狠心用 Python 3 ,刚开始就直接崩溃!你们试试......
  3. java实现从头部及尾部删除指定长度字符
  4. linux集群的启动和停止,linux平台 spark standalone集群 使用 start-all,stop-all 管理集群的启动和退出...
  5. 真的不再使用*狗输入法了,改七七拼音
  6. oracle catalog命令,catalog 命令
  7. 学计算机用16g内存,说出去就是个笑话,两万多电脑内存才16G,我认为这配置不合理!...
  8. 考研数学——求极限方法总结
  9. 产品经理如何设计网页导航菜单
  10. 利用Wifidog实现微信wifi连接
  11. Ceph监控部署之inkscopeCalamari(v10.2.11)
  12. 【开源】SoDiaoEditor 可能是目前最好用的开源电子病历编辑器(B/S架构)
  13. Java线程状态详解
  14. Qt5 学习之路及嵌入式开发教程21:QML基础
  15. 液晶显示器原理和应用
  16. 动漫头发基础画法,正面动漫头发画法
  17. 糟糕!服务器被植入挖矿木马,CPU飙升200%
  18. Fortify WebInspect学习
  19. 怎么查看vue和vue-cli(脚手架)的版本?
  20. allegro16.6 EDA365 小工具如何添加快捷键。

热门文章

  1. 例程1. LKB -- 慕司板IAP15
  2. 跟大家聊聊计算机实验室的脱坑经历
  3. A股股票程序化自动交易量化软件
  4. 2022.10.9NYIST新生周赛题解
  5. spicy(一)基本定义
  6. java邮件登录系统设计_基于Java web的邮件管理系统的设计与实现(含源文件).doc
  7. java订餐系统_Java实现简单订餐系统
  8. Linux打印相关命令
  9. word换pdf并且自动生成目录
  10. 数据分析---众包任务