我们可以知道这是一个“图”的着色问题:设置交通灯的问题等价于对图的顶点染色问题,要求对图上的每一个顶点染一种颜色,并且要求有线相连的两个顶点不能用同一种颜色。
首先要考虑,为什么可行路线是13条?当然可以通过穷举得出,如果用公式:则是:
或者
注:一条路线必须包括一出一进两个方向
第一种答案的解法:
一、固定E为入口,则有C_4^1=4的可能;
二、除去E(因为E只有一个入向),剩下ABCD四个路口,然后因为C只有一个出方向,所以从剩下的ABD中选择一个入口,即C_3^1;
三、再从剩下的三个出口任选一个(包括C)组成出入路线:C_3^1∗C_3^1 = 9;
四、4+9=13,这便是最后答案。
第二种答案的解法:
一、考虑5个路口组成一出一进的路线,则有A_5^2=20种方案,
二、因为E只有入口,故去除以E为入口,ABD为出口的路线C_3^1=3种;
三、又因为C只有出口,所以除去以C为出口,ABD为入口的路线C_3^1=3种,
四、再去掉一种是C为入口,E为出口的路线,故20-3-3-1=13种。
接下来我们将得到的13个路线分别用不同的圆圈来表示,而交叉路线(通路之间的矛盾关系)用两个圆圈之间的连线来表示,则有这样的分析图:
我们以第一个路线AB为例进行分析,当路线AB是通路时,可以发现路线BC、BD、DA、EA均与AB有交叉,因此将AB的圆圈与其他四个圆圈用线连接:
同理,可以找出所有的连接线:
首先是AB、AC、AD的连接线:
然后是BA、BC、BD的连接线:
接下来是DA、DB、DC的连接线以及最后计算出每个顶点的度数(有多少条线,则度数即为所求):
最后我们可以得到关于这个问题的图模型的表示,我们将这个顶点的度数进行排序,依次对度数最大的顶点进行涂色,最后的涂色颜色数目,就是我们需要的设定的交通灯的颜色数目。

1楼 hilljiang2017-07-02 18:18发表 [回复] [引用] [举报]

请问根据度数涂色,那么如果3度的灯亮了,B→C和D→B和A→D三条路是可通行的,这明显车会相撞的啊
Re: 猫猫被注册了2017-08-28 20:56发表 [回复] [引用] [举报]
回复hilljiang:我只是标出了度数,然后根据顶点的度数进行排序,依次对度数最大的顶点进行涂色,最后的涂色颜色数目,就是我们需要的设定的交通灯的颜色数目,连线的不能涂同一个颜色,这样来保证不冲突

转载于:https://www.cnblogs.com/hjlweilong/p/8497152.html

数据结构:五岔路口交通管理红绿灯设计相关推荐

  1. 数据结构:五岔路口交通灯问题

    数据结构:五岔路口交通灯问题 网上有很多关于这个问题的文章,但是基本都是用的贪心算法,贪心算法的思路比较简单,而且时间复杂度是多项式级别的,但是贪心算法得到的最终结果并不能保证是最优解.所以,这里我写 ...

  2. 学习笔记-java编程-交通灯管理器设计流程。

    先抛出需求: 异步随机生成按照各个路线行驶的车辆. 例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 . ...

  3. 51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总

    51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总 浏览必读: 使用关键词搜索可以达到事半功倍的效果. 电脑浏览器CTRL+F可以使用搜索查找 设计编号J000 功能说明: 1.四路交通 ...

  4. C51单片机 简单的交通红绿灯设计一

    各位读者朋友们你们好,感谢你们能点开这篇文章,作为一个非硬件专业的学生,我没有扎实的硬件基础,很担心自己所写内容没有理论基础或者存有漏洞,如果有不对的地方,期待您能指正,一起学习.交通红绿灯的设计算是 ...

  5. C语言红绿灯课程设计,C语言版交通灯课程设计.doc

    C语言版交通灯课程设计 微机控制课程设计报告 课程名称 基于C语言单片机交通灯 学生姓名 张 万 双 学号 51102022004 专业班级 电子信息科学与技术2班 指导老师 2013年12月5日 目 ...

  6. 郑丽军:从BIM到TIM,助力智能交通管理

    2017年2月25日,江西智能交通论坛在南昌隆重召开.中天建设集团浙江安装工程有限公司注册国家一级建造师郑丽军发表了<从BIM到TIM,助力智能交通管理>主题演讲. (全部发言时间25分钟 ...

  7. 主次干道红绿灯设计(数电综设)

    一.前言 综述: 本设计是基于74LS系列芯片设计的主次干道红绿灯设计.随着生活水平的提高,家庭汽车拥有量越来越多,城市交通堵塞问题越来越严重,解决城市的交通拥挤问题越来越紧迫.交通灯在这个交通环境中 ...

  8. 微机原理课程实验(十字路口红绿灯设计)

    微机原理课程实验(十字路口红绿灯设计) 软件:protuse 8.4 具体要求 设计实现交通信号灯系统.设A车道与B车道交叉组成十字路口,A是主道,B是支道,直接对车辆进行交通管理,基本要求如下: ( ...

  9. 52单片机交通灯课程设计

    单片机交通灯课程设计 1. 实验目的和器件 1.1实验目的 (1)通过单片机课程设计,熟练掌握C语言的编写方法,将理论联系到实际中去,提高我们的动手和动脑能力. (2)通过交通信号灯控制系统的设计,掌 ...

最新文章

  1. 小程序加载大图片 使用widthFix时,图片先拉伸然后才显示完全
  2. 支付宝支付 第十一集:支付回调成功后的监听
  3. Sublime Text(2/3)编译lua
  4. __VA_ARGS__宏
  5. 如何将图片序列化_如何将图片文字转化为Word文档?
  6. c# datatable用法总结
  7. 用注水实验法验证勾股定理
  8. java 向下转型运行时错误_java多态和向下转型问题。
  9. jQuery源码分析系
  10. 如何在Linux系统下配置JDK环境变量
  11. java识别手写文字_Java 实现OCR 识别图像文字(手写中文)----tess4j
  12. vscode复制代码到wps中怎么不带黑色背景
  13. 英语计算机四级如何查询,四级成绩查询
  14. 立创商城PCB库使用说明
  15. node.js事件驱动的非阻塞 I/O模型理解
  16. 基于SaaS的教务系统平台设计构想
  17. JAVA-建立TCP的客户端和服务端
  18. python 2.7.x to exe
  19. 禁用Windows Defender Antivirus Service,让你文件正常运行
  20. 电影票房排名查询易语言代码

热门文章

  1. 二叉树 的建立及遍历 过程
  2. 读书笔记_中国期货市场量化交易(李尉)02
  3. 学会这4个表达「万能公式」,下次向领导汇报时不再语无伦次
  4. 帆软报表二次开发之读取.properties配置文件
  5. RxJava使用Observable.zip的Iterable参数
  6. pdf sdk for android,Android 自带PDF SDK
  7. 台式linux桌面远程链接华为云windows服务器桌面
  8. html表格怎么改圆角边框,Table元素设置圆角border
  9. 数据结构实验 寻找数组主元素(2013考研题)
  10. Java实验4 面向对象基础