ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4021|回复: 22

[求助] 【修桥游戏】求算法帝给个思路

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-12-16 14:48 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 Moneky 于 2013-12-16 14:49 编辑

昨天一个小朋友找了一个修桥的智力题求解,之前在电脑上玩过该游戏,但玩的难度不大。下面这个人力完成实在是比较困难。由于喜欢写写程序,于是想到是否能够用电脑求解,苦思良久,没有头绪。各位有什么好的想法来讨论一下吧。


下图是在看了部分答案后人工作出的结果
2013-12-15_182646.png
补充:没两个小岛之间最多两座桥。


该贴已经同步到 Moneky的微博

修桥.rar

108.77 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2013-12-16 16:44 | 显示全部楼层
感觉和扫雷有点类似啊

点评

很不一样,呵呵~  发表于 2013-12-16 21:04

TA的精华主题

TA的得分主题

发表于 2013-12-16 16:48 | 显示全部楼层
答案不是唯一的。这个题目答案应该唯一才比较好吧?

点评

你做了?我初步做了一下,很有可能是一个解。  发表于 2013-12-16 22:26

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-16 17:25 | 显示全部楼层
Zamyi 发表于 2013-12-16 16:48
答案不是唯一的。这个题目答案应该唯一才比较好吧?

其实只要用程序能够找到合理的答案就满足了

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-16 17:27 | 显示全部楼层
清风_ll 发表于 2013-12-16 16:44
感觉和扫雷有点类似啊

关键是桥与桥不能相交,而且相邻两个岛的桥不超过两座,这个比较麻烦。

点评

主要要靠这两个条件推演。  发表于 2013-12-16 22:27

TA的精华主题

TA的得分主题

发表于 2013-12-16 18:30 | 显示全部楼层
本帖最后由 lee1892 于 2013-12-16 18:33 编辑

1、岛的地理位置是否为题目给定?
2、岛的地理位置信息是否可以如所贴图片能用方格子完整反映?
3、岛的连接是否必须是横平竖直的?
4、相邻又是怎么定义的?
5、是否必然有数字1的出现?

最好能发个原游戏的截图~

暂时想到几个疑问~

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-16 19:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 Moneky 于 2013-12-16 19:35 编辑
lee1892 发表于 2013-12-16 18:30
1、岛的地理位置是否为题目给定?
2、岛的地理位置信息是否可以如所贴图片能用方格子完整反映?
3、岛的连 ...

下面就是原题:
WP_20131216_002[1].jpg




1、岛的地理位置是否为题目给定?     【就这道题目确实是这样】
2、岛的地理位置信息是否可以如所贴图片能用方格子完整反映?  【应该可以用平面直角坐标系中的点来确定】
3、岛的连接是否必须是横平竖直的?【是】
4、相邻又是怎么定义的?【同行同列中的A、B两岛之间没有第三岛】
5、是否必然有数字1的出现?【不确定】



RedHat系统中一个游戏就是这个,曾经玩过,不过当时玩的是低难度的,那个游戏可以自己求解,是根据题目生成的过程逆向而直接显示的答案,还是通过题目智能求解的答案就不得而知了。

点评

这个题手工做的,唯一解。  发表于 2013-12-16 23:43

TA的精华主题

TA的得分主题

发表于 2013-12-16 20:31 | 显示全部楼层
Moneky 发表于 2013-12-16 19:27
下面就是原题:

这样清楚多了
1、貌似行列奇偶相间,以单元格作为坐标系,则行列坐标必然同为奇数或同为偶数
2、第一感觉最合适的是神经网络算法

TA的精华主题

TA的得分主题

发表于 2013-12-16 21:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 lee1892 于 2013-12-17 08:37 编辑

平板回帖太倒霉了~编辑会出乱码!

定义几个概念:
1、角落,指只有4个方向中只有两个方向可以连接
2、边,指4个方向中有3个可以
3、中间,4个方向都能连接

显然,对于上述3种,4、6、8应该直接画双线,而3、5、7可以每个方向都先画单线,再进行下一轮检查。每次划线,应该都能产生新的唯一可确定桥或是必然存在桥,循环检查直到无法产生,开始深度优先搜索,我比较怀疑是不需要的。

比如楼主贴的图片,左边的5必然在上、右、下3个方向至少各有1个桥,画上后其右上角的3成了角落、画2个方向,以此类推,其右上连续的3都会成为新的角落。

又如右上方相邻的两个1不能相连,则右方的1只能连下方的3。

感觉倒还真不是太难,可能关键是把数据结构设计好。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-16 22:48 | 显示全部楼层
lee1892 发表于 2013-12-16 21:03
琢磨了一下,除非能设计出合适的神经网络数学模型,否则比较现实的做法还是不断的逻辑判断,类似数独、五子 ...

先前学习了一些类的知识,所以先想到创建如下的类: 2013-12-16_224506.png

目前也只是想想而已,还不能动手,因为后面的算法什么的没有头绪和思路,当然实际创建这些类也还要慢慢摸索。基本上属于处于捡到个鼠标开始想装电脑的状态。。。


这,9L发生了什么事情?

点评

不用这么麻烦吧,关键是岛剩余的待连接桥数和其可连接的方向的数量之间的关系,另外就是桥的新设会影响到附近岛的可连接方向。  发表于 2013-12-16 22:58
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 21:18 , Processed in 0.051769 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表