这个问题是在我上小学时同学告诉我的,当时觉得好玩,就随便瞎画这玩儿,不过从小学到大学,没有一次画成功过。这个问题起初同学告诉我的时候,图不是这样画的,我只是为了好表达,将问题抽象成网格了,原问题是说有25个小球,如下图:

用一笔画,将所有蓝色小球串起来,要求画出的线不允许超过矩阵之外,不允许斜,且每个小球只被经过一次。
两种对问题描述的本质是一样的。
  答案是我的大学同学用数学方法找到的,本质上这确实是一个数学问题,他给出的结论是:不可能存在一条满足要求的路线,证明过程如下:

  将小球相间着涂成不同颜色,这样,就出现黑球相邻的周围是白球,白球相邻的周围是黑球(忽略橙色球)。换句话说,假如要连线的话,被这条线连起来的小球形成的顺序串儿,一定是黑白小球相间的,不可能出现同色小球相邻。另外,数一数黑色和白色小球的个数,你会发现,黑球有13个,白球有11个,这就存在一个矛盾:要求把所有黑色和白色球都串起来的话,就会出现,13个黑球和11个白球异色相间地出现在一个序列里。而这中情况不可能出现,因为异色相间的有限序列,两色个数相差不可能超过1,即出现矛盾。到这里,确实感觉我的同学的方法很巧妙,甚是佩服。
  虽然知道此题的结果,但作为一个程序员还是手痒,心生要写一个可视化寻路算法。请参考文章链接《 5 X 5 方阵引出的寻路算法 之 小试牛刀》和《5 X 5 方阵引出的寻路算法 之 迷宫探秘》,附程序链接 矩阵寻路 和 迷宫探秘。

一个有趣的 5 X 5 方阵一笔画问题相关推荐

  1. 给小孩发布一个有趣的网站 在线动物园

    给小孩发布一个有趣的网站 在线动物园,可以实时看到动物园里的动物实时摄像头. 非常有意思,大热天也不用到动物园里看了. http://zoo.baidu.com/video.html

  2. 一个有趣的实验:用0.1f 替换 0,性能提升 7 倍!

    点击关注上方"视学算法",设为"置顶或星标",第一时间送达技术干货. 本文来源:http://cenalulu.github.io/linux/about-de ...

  3. 一个有趣的小例子,带你入门协程模块-asyncio

    上篇文章写了关于yield from的用法,简单的了解异步模式,[上次的内容链接]这次让我们通过一个有趣例子带大家了解asyncio基本使用. 目标效果图 在控制台中显示一个由ASCII字符" ...

  4. 这是一个有趣的问题,Java 8 Lambda 表达式被编译成了什么?

    在了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么? 这是一个有趣的问题,涉及到JDK的具体的实现.本文将介绍OpenJDK对Lam ...

  5. union一个有趣的应用

    今天在读<Linux高性能服务器编程>时看到一个有趣的东西.书中用了一个特别的方法去求字节序.我们知道字节序分为大端和小端,大端就是数据的高位字节存储在内存的低地址处,小段则反之.那么我们 ...

  6. 分享一个有趣的学习方法,欢迎一起探讨如何提高学习兴趣作者:1-2-3 来源:博客园 发布时间:2009-03-09 16:20 阅读:2820 次 原文链接 [收藏]

    分享一个有趣的学习方法,欢迎一起探讨如何提高学习兴趣 作者:1-2-3  来源:博客园  发布时间:2009-03-09 16:20  阅读:2820 次  原文链接   [收藏]   有些人似乎天生 ...

  7. 编写一个弹出式菜单的shell程序_分享一个有趣的shell脚本--实现抓阄程序

    概述 今天主要分享一个有趣的shell脚本,用来实现抓阄,平时就不用剪刀石头布了. 需求 使用shell编写一个抓阄的程序: 1.执行脚本后,输入英文名字全拼,产生随机数01-99之间的数字,数字越大 ...

  8. firebug的一个有趣现象

    firebug的一个有趣现象 var obj = {length:0,splice:function(){}}console.log(obj) 猜猜上面会打印出啥? 没错,打印出来的看起来是一个空数组 ...

  9. 一个有趣的问题,讨论讨论

    昨天和一位同事讨论项目过程的一个问题,他提出一个有趣的案例: 假设制作一批茶壶,预定时间是10号,综合考虑10号之前肯定完成,于是定了10号的船,结果制作厂商5号就完成了,表面看起来提前完成是一个好事 ...

最新文章

  1. python七大神级插件_IntelliJ IDEA 15款超级牛逼插件推荐(自用,超级牛逼)
  2. “==“和equals的区别是什么(史上最全总结、最靠谱)
  3. IT培训分享:选择哪个编程语言好?
  4. 监听网络流量命令——tcpdump
  5. elctron项目_electron项目结构介绍
  6. JVM运行时常量池跟静态常量池区别
  7. LINUX:read命令
  8. HTML-参考手册: HTML 符号实体
  9. 九种食物摆脱便秘烦恼 - 生活至上,美容至尚!
  10. Jenkins插件安装
  11. Thinkphp仿众图网图片素材/资源下载站源码 自适应手机端
  12. 2022工具钳工(高级)考试题模拟考试平台操作
  13. 十年后是计算机人员的作文,二十年后的电子计算机作文
  14. 每日总结-----12月15日
  15. http与htpps的区别
  16. 2012年图灵奖--西尔维·米卡利和莎菲·戈德瓦瑟简介
  17. 华为机试真题 Java 实现【热点网站统计】
  18. USB接口Altium designer原理图PCB封装
  19. JETSON XAVIER NX 入门教程(一)入手刷机过程
  20. 泛微OA如何与其他系统实现单点登录

热门文章

  1. IDEA2020下载安装
  2. 【转】国家天文大地网
  3. 一次HDFS JN lag延时问题的排查分析后续:RM陡增traffic的来源分析
  4. Java EE入门教程系列第三章JavaBean(二)——JavaBean在JSP中的应用
  5. java基础知识大端模式及其小端模式处理
  6. 原创经典-为什么Spring中的IOC(控制反转)能够降低耦合性(解耦)?
  7. 微信小程序wxml和wxss样式
  8. pytorch、tensorflow之生成one-hot向量
  9. 使用 ChatterBot 做简单的机器人
  10. linux运行java程序内存过大_排查java应用linux环境内存占用过高的问题