如何從字母矩陣中找到可能的單詞列表[Boggle Solver]最近我一直在我的iPhone上玩一款名為Scramble的游戲。有些人可能認(rèn)為這個(gè)游戲是Boggle。基本上,當(dāng)游戲開始時(shí)你得到一個(gè)像這樣的字母矩陣:F X I EA M L OE W B XA S T U游戲的目標(biāo)是盡可能多地找到可以通過將字母鏈接在一起形成的單詞。你可以從任何字母開始,并且它周圍的所有字母都是公平的游戲,然后一旦你繼續(xù)下一個(gè)字母,圍繞那個(gè)字母的所有字母都是公平的游戲,除了以前使用的任何字母。因此在上面的網(wǎng)格,例如,我能想出的話LOB,TUX,SEA,F(xiàn)AME,等詞必須至少有3個(gè)字符,并且不超過N×N個(gè)字符以上,這將是本場(chǎng)比賽16,但可以在一些實(shí)現(xiàn)改變。雖然這個(gè)游戲很有趣且令人上癮,但我顯然不是很擅長(zhǎng)它而且我想通過制作一個(gè)可以給我最好的單詞的程序來(lái)作弊(單詞越長(zhǎng),得分就越多)。(來(lái)源:boggled.org)遺憾的是,我不熟悉算法或效率等等。我第一次嘗試使用字典,如這一個(gè)(?2.3MB),并確實(shí)試圖以配合字典條目組合線性搜索。這需要很長(zhǎng)時(shí)間才能找到可能的單詞,而且由于每輪只有2分鐘,所以根本就不夠。我很想知道Stackoverflowers是否可以提供更有效的解決方案。我主要是在尋找使用Big 3 Ps的解決方案:Python,PHP和Perl,盡管Java或C ++也很酷,因?yàn)樗俣戎陵P(guān)重要。當(dāng)前的解決方案:Adam Rosenfield,Python,?20年代John Fouhy,Python,~3sKent Fredric,Perl,~1sDarius Bacon,Python,~1srvarcher,VB.NET (實(shí)時(shí)鏈接),~1sPaolo Bergantino,PHP (實(shí)時(shí)鏈接),~5s(本地~2s)
如何從字母矩陣中找到可能的單詞列表[Boggle Solver]
慕尼黑的夜晚無(wú)繁華
2019-07-25 10:51:02