【题目链接】:http://codeforces.com/problemset/problem/29/B

【题意】

一辆车;
让从A开到B;
然后速度是v;
(只有在信号灯前面才能停下来..否则其他时候只能维持v的速度)
(如果在红绿灯前,刚好从绿灯变成红灯,不能走,但如果从红灯变成绿灯,则可以走)
告诉你A到信号灯的距离l,以及A、B之间距离d;
以及绿灯红灯交替的时间;g和r;
问你从A到B需要花费多少时间;

【题解】

一开始ans=d/v;
看看到达信号灯的时间是不是整数;
不是整数的话;
则不可能刚好遇到绿灯和红灯的转换;->普通处理就好;
(这里的普通处理就是说,到达信号灯时如果是绿灯就不用额外增加时间,是红灯的话,就增加一个等红灯的时间);
如果是整数的话;
看看是不是遇到红灯和绿灯的转换处;
是的话,如果是红灯变成绿灯,不增加额外时间;
绿灯变红灯的话,额外增加红灯的等待时间;
如果不是绿灯和红灯的转换出;还是普通处理;

【Number Of WA】

3

【完整代码】

#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x)
#define Open() freopen("F:\\rush.txt","r",stdin)
#define Close() ios::sync_with_stdio(0),cin.tie(0)typedef pair<int,int> pii;
typedef pair<LL,LL> pll;const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 110;int l,d,v,g,r;
double ans,t1;
int sta;void pt(){double now = g;sta = 1;while (now+1e-6<t1){if (sta==1)now+=r;elsenow+=g;sta^=1;}if (sta==0){ans+=now-t1;}
}int main(){//Open();Close();//scanf,puts,printf not use//init??????cin >> l >> d >> v >> g >> r;ans = (l*1.0)/v;//cout << fixed << setprecision(10)<<ans<<endl;t1 = (d*1.0)/v;if (d%v!=0){//cout <<t1<<endl;pt();}else{int k = d/v;int time = g,sta = 1;while (time!=k && time < 1500){if (sta==1)time+=r;elsetime+=g;sta^=1;}if (time==k){if (sta==1){ans+=r;}}elsept();}cout << fixed << setprecision(10)<<ans<<endl;return 0;
}

转载于:https://www.cnblogs.com/AWCXV/p/7626279.html

【codeforces 29B】Traffic Lights相关推荐

  1. 【CodeForces - 144C】Anagram Search(尺取,滑窗问题,处理字符串计数)

    题干: A string t is called an anagram of the string s, if it is possible to rearrange letters in t so ...

  2. 【CodeForces - 574B】Bear and Three Musketeers (枚举边,思维,优秀暴力)

    题干: Do you know a story about the three musketeers? Anyway, you will learn about its origins now. Ri ...

  3. 【CodeForces - 608C】Chain Reaction (二分 或 dp ,思维)

    题干: 题目大意: 题意是在一条直线上坐落着不同位置的灯塔,每一个灯塔有自己的power level,当作是射程范围.现在从最右边的灯塔开始激发,如果左边的灯塔在这个灯塔的范围之内,那么将会被毁灭.否 ...

  4. 「一题多解」【CodeForces 85D】Sum of Medians(线段树 / 分块)

    题目链接 [CodeForces 85D]Sum of Medians 题目大意 实现一个setsetset,支持插入,删除,求∑a5k+3∑a5k+3\sum a_{5k+3}.注意,setsets ...

  5. 【CodeForces 997C】Sky Full of Stars(组合计数)

    题目链接:[CodeForces 997C]Sky Full of Stars 官方题解:Codeforces Round #493 - Editorial 题目大意:有一个n×nn×nn\times ...

  6. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  7. 【codeforces 508B】Anton and currency you all know

    [题目链接]:http://codeforces.com/contest/508/problem/B [题意] 给你一个奇数; 让你交换一次数字; 使得这个数字变成偶数; 要求偶数要最大; [题解] ...

  8. 【codeforces 711B】Chris and Magic Square

    [题目链接]:http://codeforces.com/contest/711/problem/B [题意] 让你在矩阵中一个空白的地方填上一个正数; 使得这个矩阵两个对角线上的和; 每一行的和,每 ...

  9. 【codeforces 807C】Success Rate

    [题目链接]:http://codeforces.com/contest/807/problem/C [题意] 给你4个数字 x y p q 要求让你求最小的非负整数b; 使得 (x+a)/(y+b) ...

最新文章

  1. 不用写代码就能学用Pandas,适合新老程序员的神器Bamboolib
  2. hadoop错误之ClassNotFoundException
  3. ASP.NET MVC4中@model使用多个类型实例的方法
  4. 皮一皮:现在想想真是幸运...
  5. 计算机组成原理两数相加指令,计算机组成原理复习题
  6. Linux sed删除文件注释行并删除空行
  7. HTML5_0 笔记
  8. Google的面试题长啥样
  9. 配置和使用APM功能和调用链分析功能
  10. Initramfs 原理和实践
  11. 在eclipse中引入mybatis和spring的约束文件
  12. java实现中文转拼音包含声调
  13. 鸿蒙系统 微内核 sel4,引入成熟的微内核技术改良reactos,如sel4
  14. 10000marker_嘉美生物-精准的DNA分子量标准 Marker。
  15. outlook邮箱显示一直启动中_outlook邮箱打不开一直在加载
  16. wxid如何找到原始id,技术分享
  17. 学计算机进中央电视台,厉害了,我们的计算机!
  18. Dell EMC VxRail,两年拿下了10亿美金
  19. C++控制台RPG游戏具体实现思路: 任务系统
  20. 计算机原理-浮点数存储

热门文章

  1. mysql系统学习干货
  2. 牛客网c语言刷题130,开篇入门刷题,战胜对编程的恐惧,适合初学者食用。
  3. 编程时的编码、编码解码、编码乱码问题(ASCII、GBK、Unicode、UTF-32、UTF-8)
  4. maya在服务器上文件读取,maya云服务器运行
  5. excel白屏未响应_关于Excel联网状态下打开某些xls(xlsx)文件巨慢(白屏,假死)...
  6. 毕马威康勇:数字经济是中国创新发展的重要动力
  7. redis(3):安装
  8. 创业者要突破的女性用户痛点在哪儿?
  9. mysql 5.7日志配置文件_mysql5.7配置文件解析
  10. SQLServer复制:由于出现操作系统错误 5,进程无法读取文件,拒绝访问