试题编号: 201812-2
试题名称: 小明放学
时间限制: 1.0s
内存限制: 512.0MB

问题描述:

题目背景

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

问题描述

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

输入格式
  输入的第一行包含空格分隔的三个正整数 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 ≤ 10^3。
  * 所有测试点保证 n ≤ 10^5。

解题思路;

比起第一题上学,稍微复杂了一点,因为给出的是出发时刻的路段情况,所以在每遇到一个路段时重新判断新的路段情况。

结果的时间和会比较大,需要使用long long int类型。
变量tmp表示到达路口的时间。

解题代码:

#include <stdio.h>int main()
{int r, y, g, n, k, t;long long ans = 0, tmp;scanf("%d%d%d%d", &r, &y, &g, &n);while(n--) {scanf("%d%d", &k, &t);if(k != 0) {if(k == 1)tmp = ans + (r - t);else if(k == 2)tmp = ans + r + g +y - t;else if(k == 3)tmp = ans + r + g - t;tmp %= r + g + y;if(tmp >= r + g)t = r + g + y + r - tmp;else if(tmp <= r)t = r - tmp;elset = 0;}ans += t;}printf("%lld", ans);return 0;
}

CCF201812-2 小明放学相关推荐

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

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

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

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

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

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

  4. CCF2018年:小明放学C++答案

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

  5. CCF CSP 小明放学

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

  6. csp试题2:小明放学

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

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

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

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

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

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

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

最新文章

  1. 面进了心心念念的国企!以为TM上岸了!干了1年!我却再次选择回到互联网大厂内卷!
  2. 收藏 | 数据智能与计算机图形学领域2019推荐论文列表(附链接)
  3. Python——cmd调用(os.system阻塞处理)(多条命令执行)
  4. pd.dataframe.append
  5. 信用卡葵花宝典笔记(一)
  6. 移动端禁止视频自动全屏播放
  7. ORACLE 归档日志打开与关闭
  8. 数组 排序 查找 多维数组
  9. ObjC学习11-复制对象与归档
  10. 编译安装Gearman、python简单测试
  11. 企业软件 - 创新尝试 - 用友 股份 产业链创新中心 - 产品流程会议问题解决 - 杨天政 - 原型产品发版标准 - 2014-3-13
  12. 简单matlab仿真实例教程,simulink仿真教程
  13. wincc 服务器授权型号,WINCC 授权详解
  14. Java语言十五讲(第十一讲 Script)
  15. 拨号上网和宽带上网的区别分析
  16. 如何用计算机考核教学设计,计算机一级教案
  17. CNGI高校驻地网IPv6用户数量排名
  18. 使用Scrapy(二)编写抓取规则
  19. 电子木鱼 微信小程序源码 今天你积功德了吗?
  20. 全新UI众人帮任务帮PHP源码 悬赏任务抖音快手头条点赞源码 带三级分销可封装小程序

热门文章

  1. 极限挑战logo的制作教程
  2. axis1 c# 接口 调用_java axis 调用C# webService的例子
  3. 软件测试工程师-缺陷报告
  4. 软件测试工程师-软件测试基本介绍
  5. 交换ctrl和左caps_如何在Linux中交换Ctrl和Caps Lock键
  6. u8api openapi_使用OpenAPI规范进行更好的API测试
  7. vim 文本编辑器_标志性的文本编辑器Vim庆祝成立25周年
  8. 学习 | Spring Cloud Config 从入门到精通
  9. es6 WeakSet
  10. oracle查询数据库日志大小,Oracle的日志缓冲区大小查询方法———学习笔记 | 学步园...