快速公交BRT

news/2024/11/3 5:38:11/

【问题描述】

   在城市里,快速公交(BRT)线路为一条直线,在其线路上有 n 个交叉路口,在每个路口都有一个交通信号灯,在红灯与绿灯之间周期性循环。在绿灯亮起持续 g 秒的期间,允许通行,之后变为红灯,保持 r 秒,红灯期间禁止车辆通行。如果一辆车正好在变为红灯的时候到达交叉口,它应该停车,但是如果是正好变成绿灯,车辆就可以继续行驶。

BRT

   所有的交通灯都有相同的变化时间,并且是同步的。换句话说,对于所有的交通灯来说,红灯(和绿灯)的相位是相同的,它们都在第 0 时刻开始变为绿色。 BRT公司已经设计好了公交车通过每个路段的时间,路段是指两个连续的交通灯之间的距离,或者是起点与第一个交通灯的距离,或者是最后一个交通灯与终点的距离,更精确地讲,BRT专家设计了 n + 1 个正整数 li,时间以秒计,表示公交车从起点到终点时穿过第 i 路段的时间,l1 为从起点到第一个路口的时间, ln+1 表示从最后一个路口·到终点的时间。在一天内有 q 辆公交车离开起点,第 i 辆车在时刻 ti(以秒计)出发,公司管理者想知道公交车在什么时间可以到达终点。

【输入形式】

   输入的第一行为三个整数 n、g、r,分别表示交叉路口的个数,绿灯持续的时间和红灯持续的时间。接下来一行为 n + 1 整数 li , i =1, ..., n + 1,表示公交车通过第 i 个路段的时间。接下来的一行为单一的一个整数 q,表示一天内从起点出发的公交车数量,接下来的一行为 q 个整数,表示每辆公交车离开起点的时间。

【输出形式】

   输入为一行 q 个整数,分别表示每辆公交车到达终点的时间。

【样例输入】
1 3 2
5 2
5
1 2 3 4 5

【样例输出】

8 9 12 12 12

#include<iostream>
using namespace std;
int main()
{int n,g,r;  //定义cin>>n>>g>>r;int a[n+1];  //定义数组a存储路段运行时间for(int i=0;i<n+1;i++)  //输入数据{cin>>a[i];}int q;cin>>q;int b[q];  //定义数组b存储公交车出发时间for(int i=0;i<q;i++)  //输入数据{cin>>b[i];}for(int x=0;x<q;x++)  //循环,输出公交车到达时间{int time=b[x]+a[0];   //定义time记录公交车到达路口的时间for(int y=0;y<n;y++)   //循环,路口时时间判断{int t=time/(g+r);   //定义t存储红绿灯变换次数if((time>=t*(g+r))&&(time<t*(g+r)+g)){  //当到达时间位于可通行时间内time=time+a[y+1];  //时间直接加上下一段路程通过时间}else time=(t+1)*(g+r)+a[y+1];//否则先等到绿灯在下一段路程通过时间}cout<<time<<' ';  //输出}return 0;}

http://www.ppmy.cn/news/529741.html

相关文章

ubus 介绍

转载https://www.cnblogs.com/gr-nick/p/10805608.html 一、 介绍 ubus提供了一种多进程通信的机制。存在一个守护进程ubusd&#xff0c;所以进程都注册到ubusd&#xff0c;ubusd进行消息的接收、分发管理。 ubus依赖于uboxubus启动后会在后台运行ubusd进程&#xff0c;该进…

公交车系统

#include <string.h> #include <malloc.h> #include <stdio.h> #include <iostream> using namespace std; typedef struct linknode { int num;//车号 char driver[50];//司机 char stime[50];//发车时间 char start[50];//起始站 …

Tableau伦敦巴士线路分析(一)线路地图

关注微信公共号&#xff1a;小程在线 关注CSDN博客&#xff1a;程志伟的博客 数据集见微信公共号链接 导入数据 a.将经度和纬度右键-地理角色-经度和纬度&#xff1b;就会发现#变成了圆形。 将经度放入列中&#xff0c;将纬度放入行中。 在工具栏中点击分析&#xff0c;聚合度量…

城市公交站点及换乘方案设计

城市公交站点及换乘方案设计 设计要求 城市公共交通站点&#xff0c;站点之间的道路&#xff0c;及道路长度实际构成数学意义上的无向加权图。现请设计实现一个算法&#xff0c;求任意两站点间最短路径距离且输出该最短路径上的每个站点&#xff0c;然后给一个乘车换乘方案。…

Android设置我们的相关的就是智慧巴士的界面

第一步的话就是我们的界面的布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.cardview.widget.CardView android:layout_width“match_parent” android:layout_height“wrap_content” android:layout_margin“16dp” …

Android巴士

一、最新活动 1.2012年移动互联网从业者薪资有奖调查 http://www.apkbus.com/dc2012/ 2.安卓巴士站期待你的加入 http://www.apkbus.com/group.php 3.安卓巴士诚招版主 http://www.apkbus.com/android-48399-1-1.html 二、亲测源码分享 1.斗地主源码分享 http://www.apkbus…

立体大巴士

http://auto.sohu.com/20160530/n452096326.shtml 这个创意非常非常好。 是解决交通的一个很好的方法。一个好的东西要实现需要很多配套的设施。我想问几个问题&#xff1f; 1、 怎么停靠&#xff1f;是建立空中站台吗&#xff1f; 2、有轨电车&#xff0c;如果防止其他车辆占…