CSP 201812-2 小明放学
问题描述:

解题思路:
- 由于数据的量较大,需要使用long long来存储结果,否则会爆掉结果只能得到一部分的分
- 可以类比时钟,将红绿灯的变换当成时钟的运转,这样用模运算来断定红绿灯在到达时处于什么颜色
- 注意看前一题上学,我做的时候没看,导致以为黄灯能直接走,卡了很久
代码实现:
#include<iostream> using namespace std; int n;
int dur[];
int light;//当前是什么灯
int cost;//这段路程要花多少时间
int wait;
long long sum=;//总时间 void getwait(int l,int remain)
{
int j;
if(l==)
j=;
else if(l==)
j=;
else
j=;
int arit = (sum+dur[j]-remain)%(dur[]);//处于什么段
//判断是不是红灯
if(arit<dur[])
wait = dur[]-arit;
//是不是黄灯
else if(arit>=dur[])
wait=dur[]+dur[]-arit;
else
wait = ;
}
int main()
{
cin>>dur[]>>dur[]>>dur[];
dur[]+=dur[];
dur[]+=dur[];
cin>>n;
while(n--)
{
cin>>light>>cost;
if(!light)//单纯的走一段路
{
sum+=cost;
}else{
getwait(light,cost);
sum+=wait;
} }
cout<<sum;
return ;
}
总结:
需要注意题中所给的条件
观察数据的大小,判断是否会超出存储范围。
CSP 201812-2 小明放学的更多相关文章
- CCF201812-2小明放学
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过"智慧光明"终端,可以看到光明区所有红绿灯此时此刻的状 ...
- 201812-2 小明放学 Java
思路: 红绿灯每种灯亮划分区间,在[0,r]区间内红灯亮,在(r,g+r]区间内绿灯亮,在(r+g,r+g+y]区间内黄灯亮,在划分好区间后只需要判断当小明到达红绿灯时是哪个灯在亮,就可以判断出通过红 ...
- CCF2018 12 2题,小明终于到家了
最近在愁着备考,拿CCF刷题,就遇到这个难题,最后搜索了一下大佬们的方法,终于解决, 问题描述 一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间.同时,小明通过学校里安装 ...
- CCF CSP 201812-1 小明上学
题目链接:http://118.190.20.162/view.page?gpid=T80 问题描述 试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0M ...
- 小明种苹果(续)第十七次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按字典序的全排列,如果你想 ...
随机推荐
- 图论问题(2) : hdu 1102
题目转自hdu 1102,题目传送门 题目大意: 输入一个n*n的邻接矩阵,其中i行j列代表从i到j的路径的长度 然后又m条路已经帮你修好了,求最短要修多长的路才能使所有村庄连接 不难看出,这道题就是 ...
- [LeetCode] 305. Number of Islands II 岛屿的数量之二
A 2d grid map of m rows and n columns is initially filled with water. We may perform an addLand oper ...
- mac 下使用shell 命令 jq 解析json
官网 https://stedolan.github.io/jq/download/ 安装 brew install jq 创建json文件,file.json { , "msg" ...
- candlestick用法
import matplotlib.pyplot as plt from matplotlib.dates import DateFormatter, WeekdayLocator, DayLoc ...
- presto整合hive
Presto安装 前提条件: hadoop安装好了(并启动了) + hive安装好了 文档网址:http://prestodb.jd.com/docs/current/install ...
- 记录webservice
公司的一个老项目,定义了接口,供其他应用访问.定义的方式就是webservice. 我这边的环境是springboot. 首先引入依赖jar 声明一个服务端. @WebSerevice注解中name则 ...
- $scope里的$watch方法
一.$watch的作用 监听model,如果model发生变化,则触发某些事情. 二.$watch的格式 $scope. $watch(watchFn,watchAction,deepWatch); ...
- kubernetes使用阿里云cpfs持久存储
目录 简介 安装cpfs客户端 kubernetes使用cfs作为持久存储 简介 cpfs的具体介绍可参考这里: https://help.aliyun.com/document_detail/111 ...
- [转帖]k8s 中的服务如何沟通
k8s 中的服务如何沟通 https://www.jianshu.com/p/9fae09876eb7 本文将介绍 k8s 中的服务如何相互访问,例如后端服务访问数据库,不同类型的服务间的相互访问.并 ...
- Swagger 自定义UI界面
Swagger 自定义UI界面 Swagger简单介绍 如何使用Swagger 添加自定义UI界面 使用swagger-ui-layer Swagger ui 的原生UI界面如下: 个人感觉原生UI显 ...