题目背景
  小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。
  京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,绿灯 g 秒,那么从 0 时刻起,[0,r) 秒内亮红灯,车辆不许通过;[r, r+g) 秒内亮绿灯,车辆允许通过;[r+g, r+g+y) 秒内亮黄灯,车辆不许通过,然后依次循环。倒计时的显示牌上显示的数字 l(l > 0)是指距离下一次信号灯变化的秒数。
问题描述
  一次上学的路上,小明记录下了经过每段路的时间,和各个红绿灯在小明到达路口时的颜色和倒计时秒数。希望你帮忙计算此次小明上学所用的时间。
输入格式
  输入的第一行包含空格分隔的三个正整数 r、y、g,表示红绿灯的设置。这三个数均不超过 106。
  输入的第二行包含一个正整数 n(n ≤ 100),表示小明总共经过的道路段数和看到的红绿灯数目。
  接下来的 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
样例输出
70
样例说明
  小明先经过第一段道路,用时 10 秒,然后等待 5 秒的红灯,再经过第二段道路,用时 11 秒,然后等待 2 秒的黄灯和 30 秒的红灯,再经过第三段、第四段道路,分别用时6、3秒,然后通过绿灯,再经过最后一段道路,用时 3 秒。共计 10 + 5 + 11 + 2 + 30 + 6 + 3 + 3=70 秒。
评测用例规模与约定
  测试点 1, 2 中不存在任何信号灯。
  测试点 3, 4 中所有的信号灯在被观察时均为绿灯。
  测试点 5, 6 中所有的信号灯在被观察时均为红灯。
  测试点 7, 8 中所有的信号灯在被观察时均为黄灯。
  测试点 9, 10 中将出现各种可能的情况。
 
我滴代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main{public static void main(String[] args) {//读取数据Scanner scan = new Scanner(System.in);int[] lamp = new int[4];lamp[1]=scan.nextInt();//rlamp[2]=scan.nextInt();//ylamp[3]=scan.nextInt();//gint n = scan.nextInt();//经过路口数List<Crossing> list = new ArrayList<Crossing>();for (int i = 0; i < n; i++) {list.add(new Crossing(scan.nextInt(), scan.nextInt()));}//计算时间int total=0;for (Crossing cro : list) {switch(cro.lamp) {case 0 : total+=cro.time; break;case 1 : total+=cro.time;break;case 2 : total+=cro.time+lamp[1];break;case 3 : break;default: ;}}System.out.println(total);}
}
//经过路口时的t lamp与k time
class Crossing {int lamp;int time;public Crossing() {}public Crossing(int lamp, int time) {super();this.lamp = lamp;this.time = time;}
}

我滴心得
题目一看文字特别长,第一眼过去感觉模模糊糊,第二遍又读了个大概,始终没能抓住题目的核心,当把题目仔细过几遍就可以提炼出题目中的核心:

分析

用先输入三个数子分别表示红、黄、绿三盏灯,(红路灯还有个倒计时的显示牌),
然后第二行输入的是经过道路段数和看到的红绿灯数目,
此处可结合生活理解为,两端道路之间没有红路灯,在道路汇交口才有红路灯,
因此后面输入的为当
为0时,在路段内,没有红路灯,计算时间,只加加经过时间,
为1时,在路口处,为红灯,此时应该等待,红灯变为绿灯才能通信,因此加等待时间(红灯的倒计时)
为2时,在路口处,为黄灯,此时应该等黄灯变为红灯,在到绿灯时方可通过,所以此处等待时间为黄灯倒计时时间、红灯时间
为3时,在路口,为绿灯,此时可以直接通信,不需要等待。

所以此题可以很容易实现,代码思路这里就不详述了,此处又加了一个类,代码显得过多了,不足之处,欢迎指正,一起学习,共同进步。

201812CCF-CCSP竞赛:第1题-小明上学相关推荐

  1. CCF小白刷题之路---201812-1 小明上学(C/C++ 100分)

    一.题目描述 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间.他上学需要经过数段道路,相邻两段道路之间设 ...

  2. CCF之小明上学——2018.12 第一题 (java满分代码)

    package Question_one; /*  * 小明上学  * 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为了能尽可能充足地睡眠,他希望能够预计自己上 ...

  3. CCF2018年第一题:小明上学C++答案

    题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间.他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿 ...

  4. CCF201812-1 小明上学

    试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为 ...

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

    题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间.他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿 ...

  6. CCF-CSP201812-1 小明上学

    题目链接 问题描述: 试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自 ...

  7. python ccf题解 201812-1 小明上学

    问题描述 试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家 ...

  8. CCF201812-1 小明上学 (python语言)

    试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为 ...

  9. 【题解】ccf csp 201812-1 小明上学

    试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校.为 ...

最新文章

  1. 不用软件,对回收站删除文件后的恢复(windows 高级技巧)
  2. 洛谷 - P1142 - 轰炸 - 计算几何
  3. C语言switch中break的作用,C语言中switch...case语句中break的重要性
  4. 第一章 计算机系统概述 1.1 计算机发展史 [计算机组成原理笔记]
  5. 什么样的企业适合建设中台
  6. python 爬虫论_Python网络爬虫(理论篇)
  7. 多线程进行n皇后计算
  8. Linux实时查看日志,访问前10IP 和相关命令
  9. 使用new调用构造器创建对象并统一添加属性的代码运行过程
  10. work-conserving scheduling 是什么
  11. linux进程泄漏如何定位,定位Linux下定位进程被谁KILL
  12. 大文件上传NeatUpload简单用法
  13. 集成电路封测行业科普
  14. 51单片机蓝牙模块的使用方法
  15. lucene-使用htmlparser解析未设定编码页面
  16. 你不知道的网络招聘与求职潜规则
  17. 批量修改windows 用户密码
  18. 4244. 【五校联考6day2】yi
  19. tp6分页显示首页和尾页
  20. gvim 安装pathogen

热门文章

  1. 甲骨文公司 Oracle
  2. 修复笔记本键盘都失灵的情况
  3. 奶茶妹妹章泽天加入微软Bing团队
  4. 考研英语二语法知识点
  5. matlab 路由表,闭关修炼之zigbee路由
  6. iftop监控网卡实时流量
  7. 九大PPT制作伴侣【神器】
  8. Databricks Secrets(机密)
  9. Element UI中Steps 步骤条description描述换行展示
  10. Entity Relation Fusion for Real-Time One-Stage Referring Expression Comprehension 2021