Description

最近叠罗汉成为一种时尚运动,于是有了叠罗汉社……

或许有人比较out,不清楚这种运动的规则,简单来说:就是人叠人,第一个人站在地面,第二个人站在第一个人的肩膀,第三个人站在第二个人的肩膀,依次类推。看过杂技表演的应该明白的。

当然,是人肯定都不希望自己在下面,特别是当女朋友要找的时候,突然发现自己在罗汉塔最底层……

现在ikuy就恰好遇到了这个问题……

Ikuy正在玩叠罗汉游戏,突然电话响了,是GF的,苦于自己正在罗汉塔某个位置,没法接电话,已经知道电话会响 X 单位时间(每次都这样,是约定,如果ikuy不接电话就会被罚一顿饭,连续3次不接就88)。Ikuy很郁闷,想知道自己能不能在规定时间内去接到电话——他必须在规定时间内从罗汉塔中解脱出来。

不过这时他不清楚自己的具体位置,只知道整个游戏已经进行了的过程。

需要你帮忙了……

已经知道过程中每个步骤是这样描述的:

R   表示编号为R的社员爬上去了;

-1  表示最顶上的那个社员下来了;

其中 R 是不大于10000的正整数,保证所有数据合法,即对于第一条命令,保证R此时不在罗汉塔中;

一共有M条命令,经过M条命令后得到现在的罗汉塔;

开始计算时间:

此时,对于第i层的社员,要下来,需要花费的时间是i-1单位时间,ikuy要解放就必须在他上面的所有社员+他本身都从罗汉塔上下来。

哦,忘记了,ikuy的编号是N。

现在希望你能反馈出:ikuy是否能接到电话……

备注:如果需要花费时间和X相等也算接到电话;

Input

输入第一行为T,表示有T组测试数据;

对于每组测试数据格式如下:

第一行为3个整数N,M,X。意义如题目描述;

接下来M行每行有一个整数,表示各个步骤;

规定N不大于10000,M不大于1000,X不大于50000

Output

对于每组测试数据,如果可以接到电话,请输出YES,否则输出NO

每组输出为一行;

Sample Input
Copy sample input to clipboard
2
3 8 5
1
-1
4
3
-1
2
3
1
3 8 3
1
-1
4
3
-1
2
3
1

Sample Output
YES
NO

思路:只需开一个数组,模拟整个叠罗汉的过程,一个变量记录最后操作完毕后,叠罗汉的人数。这样确定起ikuy的位置也很方便,只需要for循环遍历数组,匹配ikuy的位置。剩下的就是累加咯,自己想。

代码+少量注释:
#include <iostream>
#include <stack>
#include <string>
using namespace std;
int main(){int i, txcase, ikuy, numofcommand, GFtime, command;cin >> txcase;while(txcase--){int Pyramid[1000];//模拟叠罗汉的数组int upnum = 0;//上去的指令数目int pos = -1;//记录ikuy的的位置,默认不在栈内int totaltime = 0;cin >> ikuy >> numofcommand >> GFtime;for(i = 0; i < numofcommand;i++){cin >> command;if(command != -1){//有人叠上去了Pyramid[upnum] = command;upnum++;}elseupnum--;}for(i = 0; i < upnum; i++){if(Pyramid[i] == ikuy)pos = i;}if(pos == -1){//默认情况,不在栈内totaltime = 0;}else{for(i = pos;i < upnum;i++)totaltime += i;}if(totaltime <= GFtime)cout << "YES" << endl;elsecout << "NO" << endl;}return 0;
}

 

转载于:https://www.cnblogs.com/nomonoyumei/p/3495206.html

Sicily课程练习 1012. 叠罗汉相关推荐

  1. Sicily 1001. 叠罗汉

    Description 最近叠罗汉成为一种时尚运动,于是有了叠罗汉社-- 或许有人比较out,不清楚这种运动的规则,简单来说:就是人叠人,第一个人站在地面,第二个人站在第一个人的肩膀,第三个人站在第二 ...

  2. sicily 1012. Stacking Cylinders

    //纯计算题,三角形内,已知两点坐标A(x1,y1),B(x2,y2),求第三点的坐标C(x3,y3),其中顶点A,B到C距离都为2 //由 (x3-x1)^2+(y3-y1)^2=4 和 (x3-x ...

  3. pdf 天线理论与技术 钟顺时_虚拟仿真技术 | 基于HFSS仿真软件的微波天线课程教学探索...

    点击蓝字关注我们 基于HFSS仿真软件的微波天线 课程教学探索 Teaching exploration of microwave antenna course based on HFSS simul ...

  4. 计算机无线局域网毕业论文,谈教学设计《计算机网络》网络课程“无线局域网”单元的设计与开发大专毕业论文范文...

    中文摘要4-5 ABSTRACT5-9 1 引论9-22 1.1 不足的提出9-10 1.2 国内外探讨近况10-13 1.2.1 文献综述10-12 1.2.2 网络课程建设近况12-13 1.3 ...

  5. 日程表|第8届高等学校计算机程序设计课程论坛

    2019年1月4日(星期五) 14:00-21:00 会议报到 港城酒店 18:00-20:00 晚餐 港城酒店 2019年1月5日(星期六)上午   报告及研讨 08:10-08:40 会议报到 港 ...

  6. java用户界面课程设计_java课程设计《消息公布体系》用户界面设计模板.doc

    java课程设计<消息公布体系>用户界面设计模板.doc 还剩 13页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环 ...

  7. ROS2网络课程资料分享2019.10.26

    目前,网络上主要的ROS2课程主要有: Constructsim:https://www.theconstructsim.com/robotigniteacademy_learnros/ros-cou ...

  8. 新课程研究杂志新课程研究杂志社新课程研究编辑部2022年第12期目录

    新课程研究杂志新课程研究杂志社新课程研究编辑部2022年第12期目录 特别关注     高校专业课程思政建设中存在的问题及建议 赵书玲;肖定华; 1-3     "双高计划"背景下 ...

  9. ITN网络课程笔记(四)

    物理层 物理层 1.物理层的用途 1.1.物理连接 1.2.物理层 2.物理层的特征 2.1.物理层标准 2.2.物理组件 2.3.编码 2.4.信令 铜缆 光缆 无线介质 2.5.带宽 2.6.带宽 ...

最新文章

  1. 思考:王者荣耀为什么不使用微服务架构?
  2. C篇(一) 用Codeblocks建立一个C的工程
  3. 信息系统项目管理师论文基础知识
  4. 成功数据恢复一例LINUX EXT3 下误删除ORACLE数据库
  5. Mac上编译Qt源码教程
  6. ic卡消费管理系统_详述食堂消费系统的功能特点
  7. Spring AOP面向切面源码解析
  8. 加密卡华为怎么模拟_华为手机NFC模拟加密的门禁卡详细教程
  9. 关于如何阅读英文文献(干货详解)
  10. 在Windows 10下配置 DirectX11 + Visual Studio 2017开发环境
  11. 云直播客户端4.0活动拍摄类直播与教学培训类直播测试
  12. 出版图书二维码,要如何制作呢?
  13. 利用ApacheCXF自动生成webservice的客户端代码
  14. markdown化学表达式
  15. 通过SE14重建数据库表
  16. Pta题目集: 电话聊天狂人 (25 分)
  17. 上海计算机考试分值,上海高考科目及分值
  18. 读书笔记:《程序员修炼之道:通向务实的最高境界》
  19. Docker 学习实战路线
  20. Python处理音频文件的实用姿势

热门文章

  1. 退休教师养老金月8千,有人介绍一份看大门工作月资2千,去不去?
  2. latex 转 word
  3. 天津滨海农商行:用大数据建立风险预警系统提升服务中小微企业能力
  4. 微信小程序 ---- iPhone X 以上机型留出底部安全距离
  5. 收银系统源码收银系统OEM定制开发(POS+云端+聚合支付+灰度)
  6. smbclient和mount -t cifs共享win的共享文件夹? autocad小记
  7. PHP4 WEB数据库 附天龙八部
  8. BUUCTF·[MRCTF2020]babyRSA·WP
  9. pandas创始人手把手教你利用Python进行数据分析!
  10. QR 二维码布局(五)