题目背景

  汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。

问题描述

  一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。

输入格式

  输入的第一行包含空格分隔的三个正整数 r、y、g,表示红绿灯的设置。这三个数均不超过 106。
  输入的第二行包含一个正整数 n,表示小明总共经过的道路段数和路过的红绿灯数目。
  接下来的 n 行,每行包含空格分隔的两个整数 k、t。k=0 表示经过了一段道路,将会耗时 t 秒,此处 t 不超过 106;k=1、2、3 时,分别表示出发时刻,此处的红绿灯状态是红灯、黄灯、绿灯,且倒计时显示牌上显示的数字是 t,此处 t 分别不会超过 r、y、g。

输出格式

  输出一个数字,表示此次小明放学回家所用的时间。

样例输入

30 3 30
8
0 10
1 5
0 11
2 2
0 6
0 3
3 10
0 3

样例输出

46

样例说明

  小明先经过第一段路,用时 10 秒。第一盏红绿灯出发时是红灯,还剩 5 秒;小明到达路口时,这个红绿灯已经变为绿灯,不用等待直接通过。接下来经过第二段路,用时 11 秒。第二盏红绿灯出发时是黄灯,还剩两秒;小明到达路口时,这个红绿灯已经变为红灯,还剩 11 秒。接下来经过第三、第四段路,用时 9 秒。第三盏红绿灯出发时是绿灯,还剩 10 秒;小明到达路口时,这个红绿灯已经变为红灯,还剩两秒。接下来经过最后一段路,用时 3 秒。共计 10+11+11+9+2+3 = 46 秒。

评测用例规模与约定

  有些测试点具有特殊的性质:
  * 前 2 个测试点中不存在任何信号灯。
  测试点的输入数据规模:
  * 前 6 个测试点保证 n ≤ 103。
  * 所有测试点保证 n ≤ 105。

#include <iostream>
typedef long long ll;  //用long long,用int会爆掉内存
using namespace std;int main()
{ll r, y, g;cin >> r >> y >> g;ll n;cin >> n;int input[n][2];int k, t;ll result = 0;ll temp = 0;for (int i = 0; i < n; i++){cin >>k >> t;input[i][0] = k;input[i][1] = t;}for (int i = 0; i < n; i++){temp = result%(r + y + g);if (input[i][0] == 0){result = result + input[i][1];          }else if(input[i][0] == 1){if(temp < input[i][1]){result = result + input[i][1] - temp; }else if(temp < input[i][1] + g){continue;}else if(temp < input[i][1] + g + y){result = result + input[i][1] + g + y - temp + r;}else{result = result + r + y + g + input[i][1] - temp;}}else if(input[i][0] == 2){if(temp < input[i][1]){result = result + input[i][1] - temp + r; }else if(temp < input[i][1] + r){result = result + r + input[i][1] - temp;}else if(temp < r + input[i][1] + g){continue;}else{result = result + r + y + g - temp + r + input[i][1];}}else if(input[i][0] == 3){if (temp < input[i][1]){continue;}else if(temp < input[i][1] + y){result = result + input[i][1] + y - temp + r;}else if(temp < input[i][1] + y + r){result = result + input[i][1] + y + r - temp;}else{continue;}}}cout << result;return 0;
}

CCF2018年:小明放学C++答案相关推荐

  1. CCF2018年12月真题之小明放学

    之前由于手误把小明上学题目的博客写成了小明放学,在此致歉. 今日补上小明放学题目的分析与代码. 题目背景: 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项 ...

  2. 【CCF】201812-2小明放学

    问题描述 试题编号: 201812-2 试题名称: 小明放学 时间限制: 1.0s 内存限制: 512.0MB 题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明" ...

  3. CCF201812-2 小明放学

    试题编号: 201812-2 试题名称: 小明放学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明&quo ...

  4. ##CSP 201812-2 小明放学(C语言)(100分)

    题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过"智慧光明"终端,可以看到光明区所有红绿灯此时此刻的状 ...

  5. CCF201812-2 小明放学(100分)【序列处理】

    题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过"智慧光明"终端,可以看到光明区所有红绿灯此时此刻的状 ...

  6. CCF CSP 小明放学

    一.题目 试题编号: 201812-2 试题名称: 小明放学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光 ...

  7. csp试题2:小明放学

    csp试题2:小明放学 题目 分析 代码 总结 题目 题目背景        汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过&qu ...

  8. CCF201812-2 小明放学(JAVA)

    问 题 描 述: 题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过"智慧光明"终端,可以看到光明区所有 ...

  9. 小明放学(30分)求大佬帮忙看看哪里有问题

    时间限制:1s 内存限制:512.0mb 题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过"智慧光明" ...

最新文章

  1. vsftpd被selinux阻止
  2. goroutine sync.Mutex互斥锁Lock的使用
  3. idea java主题_IDEA变身超级形态,需要这个酷炫主题
  4. 学习java 第三天 数据类型以及存储大小取值范围 (one 大白 (●—●))
  5. 爬去当当热销图书信息
  6. 关于网络促销活动对大学生购物的影响的调研报告
  7. 【渝粤教育】国家开放大学2018年秋季 1046t金融学 参考试题
  8. 许又声发表新春贺辞:潮涌东方 携手奋进
  9. 彩色图像的直方图绘制
  10. 解决 ERROR: Could not find a version that satisfies the requirement 的一种思路
  11. 更换SSD系统盘-PE重装系统
  12. 无心剑中译伊丽莎白·毕肖普《一门技艺》
  13. js手机号码校验,邮箱校验
  14. 北理工通报方岱宁院士处理结果
  15. [agc012e]Camel and Oases
  16. Python:模拟邮箱登陆
  17. NYOJ-61 传纸条 双线动态
  18. 开漏极、开集电极输出
  19. 机器学习真能产生智能决策吗?
  20. fat32转ntfs解决大于4G文件不能保存问题

热门文章

  1. 正交阵的特征值是模为1的复数
  2. eclipse找不到java方法,Linux启动eclipse报错找不到java环境解决方法
  3. 《了不起的盖茨比》中体现的人生观、价值观、爱情观
  4. 程序人生--2010年(60)
  5. 视频教程-2020年软考系统集成项目管理工程师应用技术软考视频教程-软考
  6. C语言解决世界杯小组赛问题
  7. 湖北省专科计算机竞赛,NOI信息学竞赛2019年湖北省队名单
  8. 设计模式之--迭代器模式
  9. Vue-pdf实现在线预览PDF文件
  10. 怎么防抄板:从保护固件与安全认证开始