这个问题是在我上小学时同学告诉我的,当时觉得好玩,就随便瞎画着玩儿,不过从小学到大学,没有一次画成功过。这个问题起初同学告诉我的时候,图不是这样画的,我只是为了好表达,将问题抽象成网格了,原问题是说有 25 个小球,如下图:
用一笔画,将所有蓝色小球串起来,要求画出的线不允许超过矩阵之外,不允许斜,且每个小球只被经过一次。
两种对问题描述的本质是一样的。
答案是我的大学同学用数学方法找到的,本质上这确实是一个数学问题,他给出的结论是:不可能存在一条满足要求的路线,证明过程如下:
将小球相间着涂成不同颜色,这样,就出现黑球相邻的周围是白球,白球相邻的周围是黑球(忽略橙色球)。换句话说,假如要连线的话,被这条线连起来的小球形成的顺序串儿,一定是黑白小球相间的,不可能出现同色小球相邻。另外,数一数黑色和白色小球的个数,你会发现,黑球有 13 个,白球有 11 个,这就存在一个矛盾:要求把所有黑色和白色球都串起来的话,就会出现,13 个黑球和 11 个白球异色相间地出现在一个序列里。而这中情况不可能出现,因为异色相间的有限序列,两色个数相差不可能超过 1,即出现矛盾。到这里,确实感觉我的同学的方法很巧妙,甚是佩服。
虽然知道此题的结果,但作为一个程序员还是手痒,心生要写一个可视化寻路算法。请参考文章链接《 5 X 5 方阵引出的寻路算法 之 小试牛刀》和《5 X 5 方阵引出的寻路算法 之 迷宫探秘》,附程序链接 矩阵寻路 和 迷宫探秘。
近期热议
推荐标签 标签
-
Office
5 引用 • 34 回帖
Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。
-
jsoup
6 引用 • 1 回帖 • 491 关注
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。
-
Hexo
22 引用 • 148 回帖 • 5 关注
Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。
-
AWS
11 引用 • 28 回帖 • 8 关注
-
Hprose
9 引用 • 17 回帖 • 644 关注
Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。
-
正则表达式
31 引用 • 94 回帖 • 2 关注
正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。
-
SEO
36 引用 • 200 回帖 • 33 关注
发布对别人有帮助的原创内容是最好的 SEO 方式。
-
CSS
198 引用 • 543 回帖 • 2 关注
CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
-
WordPress
45 引用 • 114 回帖 • 169 关注
WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。
-
WebClipper
3 引用 • 9 回帖
Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。
-
七牛云
29 引用 • 230 回帖 • 124 关注
七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。
-
Postman
4 引用 • 3 回帖 • 2 关注
Postman 是一款简单好用的 HTTP API 调试工具。
-
Quicker
37 引用 • 157 回帖
Quicker 您的指尖工具箱!操作更少,收获更多!
-
iOS
89 引用 • 150 回帖 • 1 关注
iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。
-
面试
326 引用 • 1395 回帖
面试造航母,上班拧螺丝。多面试,少加班。
-
C
86 引用 • 165 回帖 • 1 关注
C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
-
Mobi.css
1 引用 • 6 回帖 • 766 关注
Mobi.css is a lightweight, flexible CSS framework that focus on mobile.
- 链书
-
ReactiveX
1 引用 • 2 回帖 • 182 关注
ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。
-
SVN
29 引用 • 98 回帖 • 695 关注
SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。
-
WiFiDog
1 引用 • 7 回帖 • 614 关注
WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。
-
CongSec
1 引用 • 1 回帖 • 37 关注
本标签主要用于分享网络空间安全专业的学习笔记
-
abitmean
• 35 关注
有点意思就行了
-
Flutter
39 引用 • 92 回帖 • 7 关注
Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。
-
数据库
345 引用 • 754 回帖
据说 99% 的性能瓶颈都在数据库。
-
Openfire
6 引用 • 7 回帖 • 121 关注
Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。
-
GAE
14 引用 • 42 回帖 • 820 关注
Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于