CCF 201812-2 小明放学
- #include <iostream>
- #include <bits/stdc++.h>
- #include <string>
- using namespace std;
- int r,y,g;
- void change(long long int sum,int &k,int &t)//最开始显示为t秒,sum秒后为什么状态,此时为k灯
- {
- sum%=(r+y+g);///不加此句会超时
- if(k==0)
- return;
- if(sum-t<0)
- {
- t-=sum;
- return;
- }
- else
- {
- sum-=t;
- if(k==1)
- k=3;
- else if(k==3)
- k=2;
- else if(k==2)
- k=1;
- }
- while(sum>=0)//1--》3--》2
- {
- switch (k)
- {
- case 1:
- if(sum-r<0)
- {
- t=r-sum;
- return;
- }
- else
- {
- if(k==1)
- k=3;
- else if(k==3)
- k=2;
- else if(k==2)
- k=1;
- sum-=r;
- }
- break;
- case 2:
- if(sum-y<0)
- {
- t=y-sum;
- return;
- }
- else
- {
- if(k==1)
- k=3;
- else if(k==3)
- k=2;
- else if(k==2)
- k=1;
- sum-=y;
- }
- break;
- case 3:
- if(sum-g<0)
- {
- t=g-sum;
- return;
- }
- else
- {
- if(k==1)
- k=3;
- else if(k==3)
- k=2;
- else if(k==2)
- k=1;
- sum-=g;
- }
- break;
- }
- }
- }
- int main()
- {
- cin>>r>>y>>g;
- int n;
- cin>>n;
- long long int sum=0;
- while(n--)
- {
- int k,t;
- cin>>k>>t;
- change(sum,k,t);
- switch (k)
- {
- case 0:
- sum+=t;
- break;
- case 1:
- sum+=t;
- break;
- case 2:
- sum+=(t+r);
- break;
- case 3:
- break;
- }
- }
- cout<<sum<<endl;
- }
CCF 201812-2 小明放学的更多相关文章
- CCF201812-2小明放学
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过"智慧光明"终端,可以看到光明区所有红绿灯此时此刻的状 ...
- CCF CSP 201812-1 小明上学
题目链接:http://118.190.20.162/view.page?gpid=T80 问题描述 试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0M ...
- 201812-2 小明放学 Java
思路: 红绿灯每种灯亮划分区间,在[0,r]区间内红灯亮,在(r,g+r]区间内绿灯亮,在(r+g,r+g+y]区间内黄灯亮,在划分好区间后只需要判断当小明到达红绿灯时是哪个灯在亮,就可以判断出通过红 ...
- CSP 201812-2 小明放学
问题描述: 解题思路: 由于数据的量较大,需要使用long long来存储结果,否则会爆掉结果只能得到一部分的分 可以类比时钟,将红绿灯的变换当成时钟的运转,这样用模运算来断定红绿灯在到达时处于什么颜 ...
- CCF2018 12 2题,小明终于到家了
最近在愁着备考,拿CCF刷题,就遇到这个难题,最后搜索了一下大佬们的方法,终于解决, 问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间.同时,小明通过学校里安装 ...
- 小明种苹果(续)第十七次CCF认证
小明种苹果(续)第十七次CCF认证 题目 原题链接 ](http://118.190.20.162/view.page?gpid=T93) 很高心,在现在CCF CSP可以下载自己当时的答卷了,也就是 ...
- 201812-1 小明上学 Java
思路: 上学这个题和放学有区别,上学是小明每到一个路口的情况,是实时更新的.不是只有出发时间,那样就比较复杂了. 这个题需要注意:黄灯之后要等红灯,想一下交通规则. import java.util. ...
- 小明的密码-初级DP解法
#include #include #include using namespace std; int visited[5][20][9009];// 访问情况 int dp[5][20][9009] ...
- 小明系列问题――小明序列(LIS)
小明系列问题――小明序列 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- ACM 擅长排列的小明
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...
随机推荐
- Python中的函数定义中的斜杠/和星号*
Python中的函数定义中的斜杠/和星号* 示例 看一段代码 def say_hello(name,age=18): print(f'你好!我是{name},今年我{age}啦.') say ...
- mvn引用本地包
<dependency> <groupId>jna</groupId> <artifactId>jna</artifactId> <s ...
- 【Raspberry Pi / 树莓派】小小工控机担起大大责任
CM4 Nano是一款基于Raspberry Pi / 树莓派 Compute Module 4(简称CM4),由EDATEC面向工业应用设计的嵌入式计算机, 充分利用CM4在结构上灵活性解决CPU, ...
- [学习笔记]SQL server完全备份指南
方式一,使用SQL Server Management Studio 准备工作 连接目标数据库服务器 在目标数据库上右键->属性,将数据库的恢复模式设置为"简单",兼容级别设 ...
- xampp修改mysql数据库密码(测试成功)
转载: http://www.360doc.com/content/17/0608/14/8797027_661063783.shtml ------------------------------- ...
- Iceberg 数据治理及查询加速实践
数据治理 Flink 实时写入 Iceberg 带来的问题 在实时数据源源不断经过 Flink 写入的 Iceberg 的过程中,Flink 通过定时的 Checkpoint 提交 snapshot ...
- 基线MRI与CRP是依那西普对nr-axSpA的疗效预测因素
基线MRI与CRP是依那西普对nr-axSpA的疗效预测因素 EULAR2015; PresentID: SAT0258 BASELINE MRI/CRP AS PREDICTORS OF RESPO ...
- 3D数字孪生场景编辑器介绍
1.背景 数字孪生的建设流程涉及建模.美术.程序.仿真等多种人才的协同作业,人力要求高,实施成本高,建设周期长.如何让小型团队甚至一个人就可以完成数字孪生的开发,是数字孪生工具链要解决的重要问题.目前 ...
- Shapefile导入Oracle
1. 概述 Shapefile是常用的空间数据文件格式,Oracle数据库是常用的关系型数据库 Oracle数据库包含空间数据库,可以在Oracle中进行空间数据的存储,更详细的信息可参考: 空间数据 ...
- 基于C++的OpenGL 01 之Hello Triangle
1. 引言 本文基于C++语言,描述OpenGL的绘制流程,这里描述的是OpenGL的核心模式(Core-profile) 本文基于Ubuntu 20.04.3 LTS系统,使用CMake构建程序,O ...