notice:

  • 因为这里 r 、y 、g的范围达到106 ,t=0时耗时 t 也达到106,下面测试点的n也达到105
    所以最坏的情况下达到106x105=1011,不能用int(109以内),得用long long;

  • 这道题最后两个测试点容易超时,需要考虑对一个周期的取余;

由于本人水平有限,代码存在很多需要改善的地方,请谅解:

一般可以不用STL的我就不会用,除非涉及到超时或者内存过大而只能用STL处理的问题;
这是我的代码:

// #include<bits/stdc++.h>
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{long long r, y, g, total_time = 0, time;//r=红灯时间;y=黄灯时间;g=绿灯时间;total_time=总共耗时;time=单路口耗时int n, k;cin >> r >> y >> g >> n;while (n--){cin >> k >> time;if (k == 0)//没有红绿灯 直接加上total_time += time;else{time -= total_time;//减掉之间所耗的时间 time可正可负time = time%(r+y+g);//如果time负得很多 通过取余能直接加到负一个周期以内 K不变;如果没有取余 则如果输入大时间而仅用加法加上去肯定超时!while (time < 0)//得到该灯下的剩余时间{if (k == 1)//红灯跳绿灯{time += g;//得到绿灯剩余时间k = 3;}else if (k == 2)//黄灯跳红灯{time += r;//得到红灯剩余时间k = 1;}else//绿灯跳黄灯{time += y;//得到黄灯剩余时间k = 2;}}switch (k)//此时time必定处在当前k对应灯的时间之内 直接按小明上学的分析 遇绿灯不用管 遇红灯加上红灯剩余时间 遇黄灯加上黄灯剩余和红灯时间{case 1:total_time += time;break;case 2:total_time = total_time + time + r;break;case 3:break;}}}cout << total_time;return 0;
}

CCF 201812-2小明放学相关推荐

  1. CCF CSP 201812-2 小明放学 解题思路及经验总结

    更新:多谢weixin_44714465同学指出我的错误[详见49-52行代码,已改正!].CCF CSP的OJ居然没有把这个错误检测出来,不过为了追求严谨,我们还是应该及时改正! 题目描述 试题编号 ...

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

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

  3. CCF CSP 小明放学

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

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

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

  5. CCF201812-2 小明放学

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

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

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

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

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

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

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

  9. csp试题2:小明放学

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

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

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

最新文章

  1. 拨号到公司网络操作指南
  2. 【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 )
  3. Spring Cloud构建微服务架构:服务消费(基础)
  4. 大数据(生于2006,卒于2019)已死!
  5. Hbuilder常用快捷键功能.html
  6. SpringBoot 中使用 @Valid 注解 + Exception 全局处理器优雅处理参数验证
  7. 软件部署在不同linux上,如何在Linux中安装和部署keepalived
  8. innerdb disable error
  9. win10自带快速截图方法
  10. html绘制小球并跟随鼠标移动,利用JS如何实现小球跟随鼠标移动
  11. 【SAP-PS笔记】基于WBS直接录入金额做结果分析的项目计划成本
  12. three相机在模型上_threejs学习心得(场景的搭建+运动模型导入)
  13. 基于Opencv的图像处理-高光调整算法
  14. Wilcoxon signed-rank test和Wilcoxon rank-sum test及其在SciPy中的使用注意事项
  15. 计算机算最大值如何操作,如何合理设置计算机的虚拟内存值(初始大小及最大值)?...
  16. 【转】PHP PDO 学习笔记
  17. idea中Project JDK is not defind的其中之一解决办法
  18. DigiPCBA设计工具初体验!!!
  19. 佳能Canon PIXMA MG2510 打印机驱动
  20. 项目--静态资源cdn的引入

热门文章

  1. C++反汇编第一讲,认识构造函数,析构函数,以及成员函数
  2. 记一次css载入指定url失败
  3. android定义dialog
  4. Python学习之路day3-集合
  5. 《黑马程序员》 block的使用(Objective - c语法)
  6. delphi StatusBar在状态栏中显示checkBox
  7. 不知道哪个学校教务处管理系统的图
  8. 软件变更控制 - 控制成本溢出
  9. selenium常见面试题
  10. Java Web模块——验证码模块