freecell空当接龙自动步骤程序说明
来源:互联网 发布:淘宝极速退款额度 编辑:程序博客网 时间:2024/04/29 03:11
freecell空当接龙自动步骤程序说明地址:
http://blog.csdn.net/daineng/archive/2006/04/03/649552.aspx
在cards.h中有个LIMIT_DEEPTH的数值定义,当在$LIMIT_DEEPTH步之内还没能够把一张牌放到左上角那摞牌里面,就认为这是一个坏的情况,这样的牌局会被丢弃不继续考虑。
抱歉我这里是HARDCODE,没有用配置文件。一般我将LIMIT_DEEPTH设置为11,随便尝试了几个牌局:#17710, #4740, #13104, #19482, #18867, #17641,情况还可以,有几个算的相当快了。如果把LIMIT_DEEPTH设置的小点,无疑速度会有很大提升,但越小就越有可能算不出来。
#11982据说是无解的牌局,这个牌局其实不算复杂的牌局,程序很快就结束了。按原先的设计,只要LIMIT_DEEPTH足够大,就几乎可以遍历所有的牌局(如果解出来当然就不会继续遍历其他情况,但也可以改改程序,本来我是要算出所有情况的,但时间和内存有限,
呵呵,部分程序还保留在fc.cpp文件里),我已经将LIMIT_DEEPTH设置为66了,应该足够大了,但还是很快就结束了。11982确实是无解的。(谁说有人算出来了,把过程拿出来看看)
最后的结果保存在result.log文件中,很容易看懂,但比较难看,无奈比较忙,实在不想再去改程序了。将result.log的行数减去4,再除以31,就是步骤的数目。如果要测试某个牌局,把牌局写入cards.ini的最后一行,直接运行程序;如果已经记录了这个牌局,可以用序号来调用它,如:
[ndai@nj-ndai freecell]$ ./fc 11982
至于其他比较难解的:
#617 : 554315 : 154步
#1941 : 27652 : 117步
#10962 : 3480632 : 154步
中间的数字是考虑到牌局的数目,可以作为运算负荷的标志,数字越大表示程序越难计算出来。
其中#10962运算时间太长,无奈之下把LIMIT_DEEPTH改成9,算出来了,还是花了很长时间。
#-1, #-2就没有试了,按理说程序应该很快就结束(只是根据程序的原理来猜测的),没必要测试这两种牌局。
这个程序只能在linux下运行,debian下也是可以用的。
- freecell空当接龙自动步骤程序说明
- 自动计算空当接龙的步骤
- 空当接龙工具 bt
- 空当接龙心得
- 空当接龙纸牌生成算法
- 空当接龙牌局生成算法
- 游戏更新-空当接龙-Android
- freecell
- 经典啊!空当接龙-1,-2,11982局解法
- 《成语接龙》隐私说明
- 单词接龙pascal程序
- 一些小例子程序,用于说明JDBC的使用步骤。
- 关于设置ARM开机自动启动程序的说明
- NOIP 2000 单词接龙ACC pascal程序加题解。
- 我做了一个成语接龙的小程序
- linux 安装步骤说明
- FOCTTS使用步骤说明
- Latex 安装步骤说明
- webSphere配置数据源以及部署项目
- Windows Shutdown API
- 2006中国大学生就业指南—受益匪浅!(转载)
- Setting up a PHP 5 with Apache 2 and MySQL 4.1.3
- Oracle Temp Table
- freecell空当接龙自动步骤程序说明
- Oracle Sequence
- Kick the Heuristic Anti-virus out of the Rootkit
- A more stable way to locate real KiServiceTable
- ShellCode的另外一种玩法(远程线程注入ShellCode)[by Anskya]
- TCP/UDP Handle List
- Oracle DDL DML Collection
- 外方对测试问题的处理方法
- 远线程删除自身(来自SWAN)