找回密码
 欢迎注册
查看: 17955|回复: 8

[转载] 走格子的路线数统计问题

[复制链接]
发表于 2008-6-6 10:12:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
百度吧贴中有个 KeyTo9のFans的计算题感觉不错,特此转贴过来, 大家可以思考一下其可行的算法.我基本上可以猜测出来KeyTo9のFans在那里使用的算法(虽然他没有公布),有空时和大家一起详细分析一下: http://tieba.baidu.com/f?kz=395424512 国际象棋棋盘上,一只車从左下角格走到右上角格一共有多少条简单路径? 简单指不自交,即每个格子最多经过一次。 一般化为n×n棋盘,可以从比较小的n算起,然后尝试寻找通项公式. 同类问题: 2. n×n的棋盘,从左下角走到右下角一共有多少条简单路径? 3. n*n的棋盘,从左下角走到右上角一共有多少条简单路径? 4. n*n的棋盘,从左下角走到右下角,遍历所有格子一共有多少条简单路径? 而且KeyTo9のFans特别提到了这个题目他所用的算法非常有意思的竟然同另外一个关于围棋问题的算法基本相同: http://tieba.baidu.com/f?kz=372248697 在19路棋盘上,共有多少种可能的局面? 在n×n的棋盘上,共有多少种可能的局面? 两问完成一问即可。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-6-6 10:15:38 | 显示全部楼层
贴一下他的计算结果: 问题1的路径条数: n s 1 1 2 2 3 12 4 184 5 8512 6 1262816 7 575780564 8 789360053252 9 3266598486981642 10 41044208702632496804 11 1568758030464750013214100 12 182413291514248049241470885236 13 64528039343270018963357185158482118 14 69450664761521361664274701548907358996488 15 227449714676812739631826459327989863387613323440 16 2266745568862672746374567396713098934866324885408319028 17 68745445609149931587631563132489232824587945968099457285419306 程序运行时间: n t 10 0.7s 11 2.2s 12 7.8s 13 28s 14 106s 15 7min 16 28min 17 2h 问题4的路径条数: n s 1 1 2 1 3 2 4 8 5 86 6 1770 7 88418 8 8934966 9 2087813834 10 1013346943033 11 1111598871478668 12 2568944901392936854 13 13251059359839620127088 14 145194816279817259193401518 15 3524171261632305641165676374930 16 182653259988707123426135593460533473 17 20867537601324146829127267814319046730462 18 5108466695838037792668155733045329910045302167 程序运行时间: n t 11 0.9s 12 3.5s 13 12s 14 51s 15 3min 16 13min 17 47min 18 3.5h 围棋可能局面数的计算结果: n=12: 2h n s 1 1 2 57 3 12675 4 24318165 5 414295148741 6 62567386502084877 7 83677847847984287628595 8 990966953618170260281935463385 9 103919148791293834318983090438798793469 10 96498428501909654589630887978835098088148177857 11 793474866816582266820936671790189132321673383112185151899 12 57774258489513238998237970307483999327287210756991189655942651331169
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-6-6 10:38:31 | 显示全部楼层
关于围棋问题,找到了一个源代码,用pike写的(呵呵,我不知道这是什么语言): http://www.lysator.liu.se/~gunnar/legal.pike.txt 不过前面部分的注释介绍了所用的算法的思想,应该基本就是KeyTo9のFans所用的算法了.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-6 11:13:44 | 显示全部楼层
Pike语言官方网站 作者:牛魔王 — 上次修改时间: 2007-01-09 13:52 Pike是一种解释性的,面向对象的编程语言。它看起来有点象C和C++,但更容易学习和使用。既适用于小型脚本语言应用,也适用于大型程序。Pike是很巧妙的语言,它是纯面向对象的,但形式上你也可以把它当成面向过程的语言来应用,并且Pike提供了lambda函数。在理念上,Pike是为了让程序员舒服而被设计的。 这个链接地址是: http://pike.ida.liu.se/
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-6 11:38:08 | 显示全部楼层
这类问题应该被深入研究过的,所以搜资料是最好的办法
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-6 11:40:03 | 显示全部楼层
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-6 16:26:05 | 显示全部楼层
问题1: n s 1 1 2 2 3 12 4 184 5 8512 6 1262816 7 575780564 8 789360053252 9 3266598486981642 10 41044208702632496804 11 1568758030464750013214100 12 182413291514248049241470885236 13 64528039343270018963357185158482118 14 69450664761521361664274701548907358996488 15 227449714676812739631826459327989863387613323440 16 2266745568862672746374567396713098934866324885408319028 17 68745445609149931587631563132489232824587945968099457285419306 18 6344814611237963971310297540795524400449443986866480693646369387855336 19 1782112840842065129893384946652325275167838065704767655931452474605826692782532 20 1523344971704879993080742810319229690899454255323294555776029866737355060592877569255844
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-6 16:49:06 | 显示全部楼层
晕,光解的文字的形状就是个快速增长的曲线
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-6 16:50:17 | 显示全部楼层

回复 7# medie2005 的帖子

自己算的?贴一下运行时间比较一下。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 00:29 , Processed in 0.027899 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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