| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1027 人关注过本帖
标题:算法相关:编程解“阿达连连看”,怎样模仿人的思维?
只看楼主 加入收藏
wanderer
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-1
收藏
 问题点数:0 回复次数:1 
算法相关:编程解“阿达连连看”,怎样模仿人的思维?

编程求解游戏阿达连连看,初步想法:(1)读入一个图标a,按一定的顺序,对可能存在匹配图标的位置向前进行遍历,发现匹配则删除两个图标。(2)如果上一步未发现匹配,读入紧挨图标a的下一个图标b,按相同的顺序向前遍历(不再遍历图标a,以免重复)。如果b与某图标c匹配,删除后,c图标处暴露新图标d,此时如果da匹配,按人的思维习惯,一般会马上识别出来,并将ad删除。对于电脑,这需要在读入图标b后,图标a依然保留,并及时与新暴露的图标进行匹配查询,这增加了比较查询的负担。同样,a被删除后,又有新图标e暴露,此时可以将e与先前的一些图标进行逐个比较,这其中涉及了多重逐层嵌套的循环。

将此思路顺延展开,在对A组图标进行遍历查询时,其中的每一个图标不是与某个图标比较一次,而是与另一组(设为B)中的每一个图标逐个进行比较,要比较n次(nB组图标中的图标个数)。这样当B组图标个数很多时,可能会明显降低程序的求解效率。多重嵌套循环中,B组的结构可能也是有层次的,增加了程序的复杂性。

人眼的视觉习惯适合于一次读入多个图标,但对于电脑,一次读入处理一个图标(也就是不引入B组),未必效率就低吧?

我是初学者,请高手指教。谢谢!

搜索更多相关主题的帖子: 阿达 连连看 face 宋体 
2006-04-02 02:52
wonglaye
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-3-26
收藏
得分:0 

算法问题直接找everajax


freedom is not free to gain
2006-04-03 09:08
快速回复:算法相关:编程解“阿达连连看”,怎样模仿人的思维?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017049 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved