最近我一直在我的iPhone上玩一款名为Scramble的游戏.有些人可能认为这个游戏是Boggle.基本上,当游戏开始时你得到一个像这样的字母矩阵:
F X I E
A M L O
E W B X
A S T U
Run Code Online (Sandbox Code Playgroud)
游戏的目标是尽可能多地找到可以通过将字母链接在一起形成的单词.你可以从任何字母开始,并且它周围的所有字母都是公平的游戏,然后一旦你继续下一个字母,围绕那个字母的所有字母都是合理的游戏,除了以前使用的任何字母.因此在上面的网格,例如,我能想出的话LOB,TUX,SEA,FAME,等词必须至少有3个字符,并且不超过N×N个字符以上,这将是本场比赛16,但可以在一些实现改变.虽然这个游戏很有趣且令人上瘾,但我显然不是很擅长它而且我想通过制作一个可以给我最好的单词的程序来作弊(单词越长,得分就越多).
样本博格http://www.boggled.org/sample.gif
遗憾的是,我不熟悉算法或效率等等.我第一次尝试使用字典,如这一个(〜2.3MB),并确实试图以配合字典条目组合线性搜索.这需要很长时间才能找到可能的单词,而且由于每轮只有2分钟,所以根本就不够.
我很想知道Stackoverflowers是否可以提供更有效的解决方案.我主要是在寻找使用Big 3 Ps的解决方案:Python,PHP和Perl,尽管Java或C++也很酷,因为速度至关重要.
当前的解决方案:
BOUNTY:
我正在为这个问题增加一笔赏金,作为我向所有投入他们计划的人表示感谢的方式.不幸的是,我只能向你们中的一个人提供接受的答案,所以我将测量7天后谁拥有最快的晃动解算器,并奖励获胜者赏金.
赏金奖励.感谢所有参与的人.