开源项目 红宝石 大战 Hangman

mvj3 · 2013年12月17日 · 最后由 fzzf0618 回复于 2017年02月18日 · 9342 次阅读
本帖已被管理员设置为精华贴

红宝石 大战 Hangman

Hangman is a word game played between two people. One person selects a secret word, and the other tries to determine the word by guessing it letter-by-letter. 游戏背景和具体规则可以参考 中文 Wiki

项目地址在 https://github.com/mvj3/hangman

如果单纯想看策略的话,推荐看 @luikore 基于决策树写的 a-hangman 更精妙的实现,他把单词频率和位置信息在决策树里融为一体了,准确率高达 99.3125%。我稍微加了点 注释

如果想看一个项目如何在有时间限制下解决开发中各种问题,那就看我这个项目的 commit 信息 好了。

目前成绩

我在网上搜了下别人的,在 topcoder 上的最佳成绩在 86% 左右。而现在我这个基于 Ruby 语言开发的 Hangman 项目,在给定 80 个未知单词的情况下,该程序目前猜对率平均在 95% 以上,有时可以达到 100%。

核心思想

贪婪算法,每次排除掉尽可能多的单词,让猜测步骤尽可能少。

复杂度估计

a. 最笨的次数是猜 20 次以上,也就是枚举所有字母了。

b. 最少是该单词唯一字母的个数,所以一般来说底线是单词长度。

解题步骤

0
返回单词长度这步就不说了
1
第一个猜的字母用统计数据的词频,返回可能部分被*掩盖的单词,
1.1 如果是A或I,判断就终止了;
1.2 如果全是*,继续字母频度的下一个;
1.3 如果不全是*,那么进入第二步
2
在 1 里我们知道了单词的长度,
那么第二个猜的字母根据刚才含有位置信息的字母去找到字典索引找到全部匹配的单词列表,
并统计其中字母频度,并按该结果取出第二个字母(第一个我们刚才用掉了嘛),
并一直直到确认第二个字母匹配。
2.1 如果这个单词只有两个字母,那么到这里就结束了,
2.2
如果是两个以上字母,那么剩余的字母频度就从这个过滤好的单词列表里继续抽取了,
如此反复,直到最终找到那个单词为止。

Ruby 程序优化原则

  1. 使用 Symbol 节省内存
  2. 使用 Hash O(1) 查找

问题和参考

  • 猜词策略,元音和辅音间隔猜。
  • 采用贝叶斯 bayes? 但是位置信息已经是最大概率。
  • 写一篇 Hangman 概率论文,猜中牛津词典里全部单词最少需要几步。

作为一个程序员,我先是选择算法和其他现成做法。以下为其他参考:

Local 测试结果示例


➜  hangman git:(master) bundle exec guard
18:26:39 - INFO - Guard uses TerminalTitle to send notifications.
18:26:39 - INFO - Guard::Test 1.0.0 is running, with Test::Unit 2.5.5!
18:26:39 - INFO - Running all tests
单词长度对应的所有单词总数表
    1 : 2
    2 : 96
    3 : 978
    4 : 3919
    5 : 8672
    6 : 15290
    7 : 23208
    8 : 28558
    9 : 25011
   10 : 20404
   11 : 15581
   12 : 11382
   13 : 7835
   14 : 5134
   15 : 3198
   16 : 1938
   17 : 1125
   18 : 594
   19 : 328
   20 : 159
   21 : 62
   22 : 29
   23 : 13
   24 : 9
   25 : 2
   27 : 2
   28 : 1

Started
..


################################################################################
                              开始猜80个单词
################################################################################

 --------------------------------------------------------------------------------
猜测第1个单词,长度为8,可以猜错10次。
10.9.8.-[*****I**]-排除了6196个单词
8.7.-[***A*I**]-排除了608个单词
7.6.-[*O*A*IO*]-排除了9个单词
6.5.-[*O*A*ION]-排除了7个单词
5.4.-[RO*A*ION]-排除了2个单词
4.3.-[ROTATION]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "I", "B", "A", "C", "O", "D", "N", "P", "R", "G", "T"],共13个
[猜中的单词是]    ROTATION!

 --------------------------------------------------------------------------------
猜测第2个单词,长度为12,可以猜错10次。
10.-[****E******E]-排除了95个单词
10.-[****E**C***E]-排除了2个单词
10.9.-[P***E**C***E]-排除了1个单词
9.-[P***E*AC***E]-排除了1个单词
9.-[PU**E*AC***E]-排除了1个单词
9.-[PU**E*AC*I*E]-排除了1个单词
9.-[PUT*E*ACTI*E]-排除了1个单词
9.-[PUTRE*ACTI*E]-排除了1个单词
9.-[PUTREFACTI*E]-排除了1个单词
9.-[PUTREFACTIVE]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "C", "O", "P", "A", "U", "I", "T", "R", "F", "V"],共11个
[猜中的单词是]    PUTREFACTIVE!

 --------------------------------------------------------------------------------
猜测第3个单词,长度为17,可以猜错10次。
10.-[I*******I****I***]-排除了13个单词
10.-[IN***N**I*N**I***]-排除了6个单词
10.-[IN*E*N**I*N**I***]-排除了6个单词
10.-[INTE*N*TI*N**I*T*]-排除了1个单词
10.-[INTE*NATI*NA*I*T*]-排除了1个单词
10.-[INTERNATI*NA*I*T*]-排除了1个单词
10.-[INTERNATIONA*I*T*]-排除了1个单词
10.-[INTERNATIONALI*T*]-排除了1个单词
10.-[INTERNATIONALISTS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "N", "E", "T", "A", "R", "O", "L", "S"],共9个
[猜中的单词是]    INTERNATIONALISTS!

 --------------------------------------------------------------------------------
猜测第4个单词,长度为9,可以猜错10次。
10.9.-[********S]-排除了10318个单词
9.8.-[B*******S]-排除了191个单词
8.-[B****I**S]-排除了34个单词
8.7.6.-[B*LL*I**S]-排除了1个单词
6.-[BULL*I**S]-排除了1个单词
6.-[BULLRI**S]-排除了1个单词
6.-[BULLRIN*S]-排除了1个单词
6.-[BULLRINGS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "B", "I", "D", "O", "L", "U", "R", "N", "G"],共12个
[猜中的单词是]    BULLRINGS!

 --------------------------------------------------------------------------------
猜测第5个单词,长度为5,可以猜错10次。
10.-[****S]-排除了2707个单词
10.-[*A**S]-排除了456个单词
10.9.-[*A*ES]-排除了112个单词
9.8.7.6.5.4.3.2.1.[状态]            失败
[依次猜过的字母]  ["S", "A", "B", "E", "C", "O", "D", "F", "G", "H", "J", "K", "L"],共13个
[还没猜完的单词]  [:MANES, :MARES, :MATES, :MAXES, :MAZES, :NAMES, :NAPES, :NARES, :NATES, :NAVES, :PANES, :PARES, :PATES, :PAVES, :PAXES, :RAPES, :RARES, :RATES, :RAVES, :RAXES, :RAZES, :TAMES, :TAPES, :TARES, :TATES, :TAXES, :VANES, :WAMES, :WANES, :WARES, :WAVES, :WAXES, :ZAXES] 这33个单词

 --------------------------------------------------------------------------------
猜测第6个单词,长度为12,可以猜错10次。
10.-[***********E]-排除了896个单词
10.9.8.7.-[*******I*I*E]-排除了4个单词
7.6.-[*O***O*I*I*E]-排除了1个单词
6.-[PO**PO*I*I*E]-排除了1个单词
6.-[POS*POSI*I*E]-排除了1个单词
6.-[POSTPOSITI*E]-排除了1个单词
6.-[POSTPOSITIVE]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "N", "O", "P", "S", "T", "V"],共11个
[猜中的单词是]    POSTPOSITIVE!

 --------------------------------------------------------------------------------
猜测第7个单词,长度为13,可以猜错10次。
10.-[*****I*******]-排除了669个单词
10.-[***C*I*******]-排除了7个单词
10.-[E*EC*I**EE*E*]-排除了2个单词
10.-[ELEC*I**EE*E*]-排除了2个单词
10.-[ELEC*IO*EE*E*]-排除了2个单词
10.-[ELECTIO*EE*E*]-排除了2个单词
10.-[ELECTIONEE*E*]-排除了2个单词
10.-[ELECTIONEERER]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "C", "E", "L", "O", "T", "N", "R"],共8个
[猜中的单词是]    ELECTIONEERER!

 --------------------------------------------------------------------------------
猜测第8个单词,长度为10,可以猜错10次。
10.9.-[******I***]-排除了2750个单词
9.8.-[*A**A*I***]-排除了64个单词
8.-[CA**A*I***]-排除了9个单词
8.-[CA**A*IO**]-排除了3个单词
8.7.-[CA*SA*IO*S]-排除了1个单词
7.-[CAUSA*IO*S]-排除了1个单词
7.-[CAUSATIO*S]-排除了1个单词
7.-[CAUSATIONS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "I", "B", "A", "C", "O", "R", "S", "U", "T", "N"],共11个
[猜中的单词是]    CAUSATIONS!

 --------------------------------------------------------------------------------
猜测第9个单词,长度为11,可以猜错10次。
10.-[******E**E*]-排除了772个单词
10.9.8.7.-[*I**I*E*IE*]-排除了3个单词
7.-[MI**I*E*IE*]-排除了3个单词
7.6.-[MILLI*E*IE*]-排除了1个单词
6.-[MILLINE*IE*]-排除了1个单词
6.-[MILLINERIE*]-排除了1个单词
6.-[MILLINERIES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "M", "D", "L", "N", "R", "S"],共11个
[猜中的单词是]    MILLINERIES!

 --------------------------------------------------------------------------------
猜测第10个单词,长度为8,可以猜错10次。
10.9.-[S*******]-排除了3480个单词
9.-[S**A****]-排除了182个单词
9.8.-[S**A*I**]-排除了61个单词
8.7.-[SO*A*IO*]-排除了1个单词
7.-[SOLA*IO*]-排除了1个单词
7.-[SOLATIO*]-排除了1个单词
7.-[SOLATION]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "C", "I", "D", "O", "L", "T", "N"],共10个
[猜中的单词是]    SOLATION!

 --------------------------------------------------------------------------------
猜测第11个单词,长度为11,可以猜错10次。
10.-[****E*E****]-排除了130个单词
10.-[*N**E*EN***]-排除了2个单词
10.-[IN**E*EN***]-排除了2个单词
10.-[INC*E*EN***]-排除了2个单词
10.9.-[INCLE*EN*L*]-排除了1个单词
9.-[INCLEMEN*L*]-排除了1个单词
9.-[INCLEMENTL*]-排除了1个单词
9.-[INCLEMENTLY]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "N", "I", "C", "A", "L", "M", "T", "Y"],共9个
[猜中的单词是]    INCLEMENTLY!

 --------------------------------------------------------------------------------
猜测第12个单词,长度为10,可以猜错10次。
10.-[**E*******]-排除了1461个单词
10.9.-[**E*A*****]-排除了44个单词
9.8.-[**E*A*I***]-排除了5个单词
8.7.6.-[T*E*A*I*T*]-排除了1个单词
6.-[THE*A*I*T*]-排除了1个单词
6.-[THERA*I*T*]-排除了1个单词
6.-[THERAPI*T*]-排除了1个单词
6.-[THERAPISTS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "G", "O", "T", "H", "R", "P", "S"],共12个
[猜中的单词是]    THERAPISTS!

 --------------------------------------------------------------------------------
猜测第13个单词,长度为7,可以猜错10次。
10.9.8.-[****I**]-排除了4852个单词
8.-[B***I**]-排除了304个单词
8.-[BA**I**]-排除了66个单词
8.7.6.5.4.-[BA**I*G]-排除了17个单词
4.3.2.-[BA**ING]-排除了10个单词
2.1.-[BA*HING]-排除了2个单词
1.-[BATHING]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "I", "B", "A", "C", "O", "D", "F", "G", "L", "M", "N", "R", "H", "T"],共16个
[猜中的单词是]    BATHING!

 --------------------------------------------------------------------------------
猜测第14个单词,长度为14,可以猜错10次。
10.-[*****I*****I**]-排除了176个单词
10.-[*R***I*****I**]-排除了5个单词
10.-[*RE**I*****IE*]-排除了1个单词
10.-[KRE**I*****IE*]-排除了1个单词
10.-[KRE**I*O*O*IE*]-排除了1个单词
10.-[KREM*I*O*O*IE*]-排除了1个单词
10.-[KREMLI*OLO*IE*]-排除了1个单词
10.-[KREMLINOLO*IE*]-排除了1个单词
10.-[KREMLINOLOGIE*]-排除了1个单词
10.-[KREMLINOLOGIES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "R", "E", "K", "O", "M", "L", "N", "G", "S"],共10个
[猜中的单词是]    KREMLINOLOGIES!

 --------------------------------------------------------------------------------
猜测第15个单词,长度为12,可以猜错10次。
10.-[*E****E*E***]-排除了19个单词
10.9.-[*E**O*E*E***]-排除了2个单词
9.-[PE**O*E*E***]-排除了2个单词
9.-[PE**O*E*E*I*]-排除了2个单词
9.-[PET*O*E*E*I*]-排除了2个单词
9.-[PETRO*E*E*I*]-排除了1个单词
9.-[PETROGE*E*I*]-排除了1个单词
9.-[PETROGENE*I*]-排除了1个单词
9.-[PETROGENESIS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "O", "P", "I", "T", "R", "G", "N", "S"],共10个
[猜中的单词是]    PETROGENESIS!

 --------------------------------------------------------------------------------
猜测第16个单词,长度为14,可以猜错10次。
10.-[**********I***]-排除了1018个单词
10.9.-[******A*A*I***]-排除了10个单词
9.8.-[**E***A*A*I*E*]-排除了2个单词
8.-[*VE***A*A*I*E*]-排除了2个单词
8.-[OVE***A*A*I*E*]-排除了2个单词
8.-[OVER*RA*A*I*E*]-排除了2个单词
8.-[OVERDRA*A*I*E*]-排除了2个单词
8.-[OVERDRAMA*I*E*]-排除了1个单词
8.-[OVERDRAMATI*E*]-排除了1个单词
8.-[OVERDRAMATIZE*]-排除了1个单词
8.-[OVERDRAMATIZES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "C", "A", "H", "E", "V", "O", "R", "D", "M", "T", "Z", "S"],共13个
[猜中的单词是]    OVERDRAMATIZES!

 --------------------------------------------------------------------------------
猜测第17个单词,长度为10,可以猜错10次。
10.-[***E*E****]-排除了203个单词
10.-[***E*E**C*]-排除了2个单词
10.-[I**E*E**C*]-排除了1个单词
10.-[IN*E*E**C*]-排除了1个单词
10.-[IN*E*E*AC*]-排除了1个单词
10.-[INVE*E*AC*]-排除了1个单词
10.-[INVETE*AC*]-排除了1个单词
10.-[INVETERAC*]-排除了1个单词
10.-[INVETERACY]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "C", "I", "N", "A", "V", "T", "R", "Y"],共9个
[猜中的单词是]    INVETERACY!

 --------------------------------------------------------------------------------
猜测第18个单词,长度为10,可以猜错10次。
10.-[********E*]-排除了6035个单词
10.-[**R*****E*]-排除了281个单词
10.9.8.-[*ORO****E*]-排除了6个单词
8.-[MORO****E*]-排除了2个单词
8.-[MORO*I*IE*]-排除了2个单词
8.7.-[MOROSI*IES]-排除了1个单词
7.-[MOROSITIES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "R", "A", "B", "O", "M", "I", "N", "S", "T"],共10个
[猜中的单词是]    MOROSITIES!

 --------------------------------------------------------------------------------
猜测第19个单词,长度为8,可以猜错10次。
10.-[******E*]-排除了7538个单词
10.-[S*****E*]-排除了663个单词
10.-[SA****E*]-排除了15个单词
10.-[SA****EL]-排除了1个单词
10.-[SA**O*EL]-排除了1个单词
10.-[SAP*OPEL]-排除了1个单词
10.-[SAPROPEL]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "L", "O", "P", "R"],共7个
[猜中的单词是]    SAPROPEL!

 --------------------------------------------------------------------------------
猜测第20个单词,长度为7,可以猜错10次。
10.-[*E*****]-排除了3442个单词
10.9.8.7.-[*E**O**]-排除了121个单词
7.-[*E**O*D]-排除了12个单词
7.6.5.-[*E**ORD]-排除了1个单词
5.-[TE**ORD]-排除了1个单词
5.-[TEL*ORD]-排除了1个单词
5.-[TELFORD]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "C", "A", "B", "O", "D", "I", "K", "R", "T", "L", "F"],共12个
[猜中的单词是]    TELFORD!

 --------------------------------------------------------------------------------
猜测第21个单词,长度为5,可以猜错10次。
10.-[***SS]-排除了32个单词
10.-[**ASS]-排除了10个单词
10.9.8.7.6.5.4.-[T*ASS]-排除了1个单词
4.-[TRASS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["S", "A", "B", "C", "F", "G", "K", "Q", "T", "R"],共10个
[猜中的单词是]    TRASS!

 --------------------------------------------------------------------------------
猜测第22个单词,长度为9,可以猜错10次。
10.-[*E*******]-排除了4005个单词
10.9.8.-[BE**B****]-排除了1个单词
8.-[BE**BI***]-排除了1个单词
8.-[BELLBI***]-排除了1个单词
8.-[BELLBIR**]-排除了1个单词
8.-[BELLBIRD*]-排除了1个单词
8.-[BELLBIRDS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "P", "A", "B", "I", "L", "R", "D", "S"],共9个
[猜中的单词是]    BELLBIRDS!

 --------------------------------------------------------------------------------
猜测第23个单词,长度为10,可以猜错10次。
10.-[********E*]-排除了6035个单词
10.-[*R******E*]-排除了235个单词
10.-[AR******E*]-排除了10个单词
10.9.-[AR*I**I*E*]-排除了1个单词
9.-[ARGI**I*E*]-排除了1个单词
9.-[ARGILLI*E*]-排除了1个单词
9.-[ARGILLITE*]-排除了1个单词
9.-[ARGILLITES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "R", "A", "C", "I", "G", "L", "T", "S"],共9个
[猜中的单词是]    ARGILLITES!

 --------------------------------------------------------------------------------
猜测第24个单词,长度为10,可以猜错10次。
10.-[*********E]-排除了1955个单词
10.9.-[*****A***E]-排除了97个单词
9.8.-[**I*IA*I*E]-排除了4个单词
8.-[T*I*IA*I*E]-排除了2个单词
8.-[TRI*IA*I*E]-排除了2个单词
8.-[TRIVIA*I*E]-排除了2个单词
8.-[TRIVIALI*E]-排除了2个单词
8.-[TRIVIALISE]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "T", "R", "V", "L", "S"],共10个
[猜中的单词是]    TRIVIALISE!

 --------------------------------------------------------------------------------
猜测第25个单词,长度为4,可以猜错10次。
10.-[**A*]-排除了338个单词
10.9.8.7.-[*EA*]-排除了64个单词
7.-[DEA*]-排除了5个单词
7.6.5.4.-[DEAR]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["A", "B", "O", "C", "E", "D", "F", "L", "N", "R"],共10个
[猜中的单词是]    DEAR!

 --------------------------------------------------------------------------------
猜测第26个单词,长度为15,可以猜错10次。
10.9.-[*****E*********]-排除了305个单词
9.-[*****E********L]-排除了5个单词
9.-[*O***E***O*O**L]-排除了1个单词
9.-[CO***E***O*O**L]-排除了1个单词
9.-[CO***E***O*O*AL]-排除了1个单词
9.-[COU**E***O*O*AL]-排除了1个单词
9.-[COUN*E***O*O*AL]-排除了1个单词
9.-[COUNTE***O*O*AL]-排除了1个单词
9.-[COUNTER*RO*O*AL]-排除了1个单词
9.-[COUNTERPROPO*AL]-排除了1个单词
9.-[COUNTERPROPOSAL]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "E", "L", "O", "C", "A", "U", "N", "T", "R", "P", "S"],共12个
[猜中的单词是]    COUNTERPROPOSAL!

 --------------------------------------------------------------------------------
猜测第27个单词,长度为10,可以猜错10次。
10.9.-[*****I****]-排除了2386个单词
9.8.7.6.-[**O**I**O*]-排除了2个单词
6.-[**OP*I**O*]-排除了2个单词
6.-[S*OP*I**O*]-排除了1个单词
6.-[SHOP*I**O*]-排除了1个单词
6.-[SHOPWI**OW]-排除了1个单词
6.-[SHOPWIN*OW]-排除了1个单词
6.-[SHOPWINDOW]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "I", "B", "A", "C", "O", "P", "S", "H", "W", "N", "D"],共12个
[猜中的单词是]    SHOPWINDOW!

 --------------------------------------------------------------------------------
猜测第28个单词,长度为10,可以猜错10次。
10.-[E**E******]-排除了108个单词
10.9.-[E**E**I***]-排除了8个单词
9.8.7.-[EX*E**I***]-排除了5个单词
7.-[EX*E**IO**]-排除了4个单词
7.-[EXCE**IO**]-排除了2个单词
7.-[EXCEL*IO**]-排除了1个单词
7.-[EXCELSIO*S]-排除了1个单词
7.-[EXCELSIORS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "V", "I", "G", "A", "X", "O", "C", "L", "S", "R"],共11个
[猜中的单词是]    EXCELSIORS!

 --------------------------------------------------------------------------------
猜测第29个单词,长度为16,可以猜错10次。
10.-[******I*********]-排除了214个单词
10.-[****B*I*********]-排除了2个单词
10.-[****B*IO********]-排除了2个单词
10.-[**L*B*IO********]-排除了1个单词
10.-[*AL*B*IO********]-排除了1个单词
10.-[SAL*B*IO*S**SS*S]-排除了1个单词
10.-[SAL*B*IO*S*ESSES]-排除了1个单词
10.-[SALUB*IOUS*ESSES]-排除了1个单词
10.-[SALUBRIOUS*ESSES]-排除了1个单词
10.-[SALUBRIOUSNESSES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "B", "O", "L", "A", "S", "E", "U", "R", "N"],共10个
[猜中的单词是]    SALUBRIOUSNESSES!

 --------------------------------------------------------------------------------
猜测第30个单词,长度为11,可以猜错10次。
10.-[***E*******]-排除了1940个单词
10.9.8.-[***E****C**]-排除了3个单词
8.-[***E***IC**]-排除了1个单词
8.-[U**E***IC**]-排除了1个单词
8.-[UN*E***IC**]-排除了1个单词
8.-[UNDE***IC**]-排除了1个单词
8.-[UNDER*RIC**]-排除了1个单词
8.-[UNDERTRIC**]-排除了1个单词
8.-[UNDERTRICK*]-排除了1个单词
8.-[UNDERTRICKS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "U", "N", "D", "R", "T", "K", "S"],共12个
[猜中的单词是]    UNDERTRICKS!

 --------------------------------------------------------------------------------
猜测第31个单词,长度为11,可以猜错10次。
10.-[E****E*E***]-排除了10个单词
10.-[EFF**E*E***]-排除了1个单词
10.-[EFFA*E*E***]-排除了1个单词
10.-[EFFACE*E***]-排除了1个单词
10.-[EFFACEME***]-排除了1个单词
10.-[EFFACEMEN**]-排除了1个单词
10.-[EFFACEMENT*]-排除了1个单词
10.-[EFFACEMENTS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "F", "A", "C", "M", "N", "T", "S"],共8个
[猜中的单词是]    EFFACEMENTS!

 --------------------------------------------------------------------------------
猜测第32个单词,长度为9,可以猜错10次。
10.-[E*****E**]-排除了133个单词
10.9.8.7.-[E*****EA*]-排除了1个单词
7.-[EN****EA*]-排除了1个单词
7.-[EN*O**EA*]-排除了1个单词
7.-[ENDO**EA*]-排除了1个单词
7.-[ENDOS*EA*]-排除了1个单词
7.-[ENDOSTEA*]-排除了1个单词
7.-[ENDOSTEAL]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "R", "I", "F", "A", "N", "O", "D", "S", "T", "L"],共11个
[猜中的单词是]    ENDOSTEAL!

 --------------------------------------------------------------------------------
猜测第33个单词,长度为10,可以猜错10次。
10.-[*E******E*]-排除了1015个单词
10.-[*ER*****E*]-排除了94个单词
10.-[*ER*A***E*]-排除了15个单词
10.9.-[*ERIA*I*E*]-排除了2个单词
9.-[SERIA*ISES]-排除了1个单词
9.-[SERIALISES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "R", "A", "D", "I", "S", "L"],共7个
[猜中的单词是]    SERIALISES!

 --------------------------------------------------------------------------------
猜测第34个单词,长度为11,可以猜错10次。
10.9.-[I*******I**]-排除了231个单词
9.8.-[I**O****I**]-排除了11个单词
8.-[IM*O****I**]-排除了7个单词
8.7.-[IMPO****I**]-排除了2个单词
7.-[IMPOR***I**]-排除了2个单词
7.-[IMPORT**I**]-排除了2个单词
7.-[IMPORTU*I**]-排除了1个单词
7.-[IMPORTUNIN*]-排除了1个单词
7.-[IMPORTUNING]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "I", "C", "O", "M", "B", "P", "R", "T", "U", "N", "G"],共12个
[猜中的单词是]    IMPORTUNING!

 --------------------------------------------------------------------------------
猜测第35个单词,长度为8,可以猜错10次。
10.9.-[******S*]-排除了2110个单词
9.-[**A***S*]-排除了125个单词
9.-[B*A***S*]-排除了15个单词
9.-[B*A**IS*]-排除了7个单词
9.8.7.-[BRA**IS*]-排除了3个单词
7.6.-[BRAN*IS*]-排除了1个单词
6.-[BRANDIS*]-排除了1个单词
6.-[BRANDISH]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "B", "I", "L", "O", "R", "C", "N", "D", "H"],共12个
[猜中的单词是]    BRANDISH!

 --------------------------------------------------------------------------------
猜测第36个单词,长度为7,可以猜错10次。
10.-[*E*****]-排除了3442个单词
10.9.-[*EA****]-排除了142个单词
9.8.-[*EA*I**]-排除了60个单词
8.7.6.5.4.-[*EALI**]-排除了3个单词
4.-[REALI**]-排除了3个单词
4.-[REALIS*]-排除了2个单词
4.3.-[REALIST]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "C", "A", "B", "I", "D", "F", "G", "H", "L", "R", "S", "M", "T"],共14个
[猜中的单词是]    REALIST!

 --------------------------------------------------------------------------------
猜测第37个单词,长度为8,可以猜错10次。
10.-[****E*E*]-排除了751个单词
10.9.8.7.6.-[****E*ED]-排除了73个单词
6.-[**O*E*ED]-排除了11个单词
6.5.4.3.2.-[T*O*E*ED]-排除了1个单词
2.-[TRO*E*ED]-排除了1个单词
2.-[TROWE*ED]-排除了1个单词
2.-[TROWELED]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "C", "A", "B", "I", "D", "O", "F", "G", "P", "S", "T", "R", "W", "L"],共15个
[猜中的单词是]    TROWELED!

 --------------------------------------------------------------------------------
猜测第38个单词,长度为11,可以猜错10次。
10.9.-[*********I*]-排除了776个单词
9.-[*********IC]-排除了286个单词
9.-[******A**IC]-排除了45个单词
9.8.-[*O*O**A**IC]-排除了12个单词
8.-[*O*O**A*HIC]-排除了7个单词
8.-[LO*O**A*HIC]-排除了1个单词
8.-[LOGOG*A*HIC]-排除了1个单词
8.-[LOGOGRA*HIC]-排除了1个单词
8.-[LOGOGRAPHIC]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "I", "C", "A", "D", "O", "H", "L", "G", "R", "P"],共11个
[猜中的单词是]    LOGOGRAPHIC!

 --------------------------------------------------------------------------------
猜测第39个单词,长度为8,可以猜错10次。
10.-[******E*]-排除了7538个单词
10.-[S*****ES]-排除了247个单词
10.-[S*A***ES]-排除了45个单词
10.-[S*A*C*ES]-排除了5个单词
10.9.-[SNA*C*ES]-排除了1个单词
9.-[SNATC*ES]-排除了1个单词
9.-[SNATCHES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "C", "L", "N", "T", "H"],共8个
[猜中的单词是]    SNATCHES!

 --------------------------------------------------------------------------------
猜测第40个单词,长度为6,可以猜错10次。
10.-[****E*]-排除了4702个单词
10.9.-[*A**E*]-排除了770个单词
9.8.7.-[*AD*E*]-排除了29个单词
7.6.5.4.3.-[*ADLE*]-排除了3个单词
3.-[PADLE*]-排除了1个单词
3.-[PADLES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "O", "D", "I", "F", "G", "H", "L", "P", "S"],共13个
[猜中的单词是]    PADLES!

 --------------------------------------------------------------------------------
猜测第41个单词,长度为9,可以猜错10次。
10.-[*******E*]-排除了6851个单词
10.9.8.-[C******E*]-排除了163个单词
8.-[C****I*E*]-排除了41个单词
8.7.-[CO***I*E*]-排除了18个单词
7.-[COM**I*E*]-排除了5个单词
7.-[COMP*I*E*]-排除了5个单词
7.6.-[COMPRI*E*]-排除了4个单词
6.-[COMPRISES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "H", "O", "M", "P", "L", "R", "S"],共12个
[猜中的单词是]    COMPRISES!

 --------------------------------------------------------------------------------
猜测第42个单词,长度为7,可以猜错10次。
10.9.-[**S***S]-排除了456个单词
9.-[*AS*A*S]-排除了10个单词
9.-[BAS*A*S]-排除了1个单词
9.-[BASHA*S]-排除了1个单词
9.-[BASHAWS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "B", "H", "W"],共6个
[猜中的单词是]    BASHAWS!

 --------------------------------------------------------------------------------
猜测第43个单词,长度为8,可以猜错10次。
10.-[******E*]-排除了7538个单词
10.-[S*****E*]-排除了663个单词
10.9.-[S**C**E*]-排除了12个单词
9.-[S*IC**E*]-排除了5个单词
9.-[STIC**E*]-排除了3个单词
9.-[STICK*E*]-排除了3个单词
9.8.-[STICKME*]-排除了1个单词
8.-[STICKMEN]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "C", "I", "T", "K", "L", "M", "N"],共10个
[猜中的单词是]    STICKMEN!

 --------------------------------------------------------------------------------
猜测第44个单词,长度为13,可以猜错10次。
10.-[******I******]-排除了1125个单词
10.9.-[******I*A****]-排除了16个单词
9.-[******IDA****]-排除了1个单词
9.-[*E****IDA***E]-排除了1个单词
9.-[ME****IDA***E]-排除了1个单词
9.-[ME**O*IDA*O*E]-排除了1个单词
9.-[MET*O*IDA*O*E]-排除了1个单词
9.-[METRO*IDA*O*E]-排除了1个单词
9.-[METRONIDA*O*E]-排除了1个单词
9.-[METRONIDAZO*E]-排除了1个单词
9.-[METRONIDAZOLE]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "C", "A", "D", "E", "M", "O", "T", "R", "N", "Z", "L"],共12个
[猜中的单词是]    METRONIDAZOLE!

 --------------------------------------------------------------------------------
猜测第45个单词,长度为11,可以猜错10次。
10.-[*E*********]-排除了2641个单词
10.-[RE*********]-排除了220个单词
10.9.8.-[RE**I**I***]-排除了2个单词
8.-[RES*ISSI**S]-排除了1个单词
8.-[RES*ISSIO*S]-排除了1个单词
8.-[RESCISSIO*S]-排除了1个单词
8.-[RESCISSIONS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "R", "A", "B", "I", "S", "O", "C", "N"],共9个
[猜中的单词是]    RESCISSIONS!

 --------------------------------------------------------------------------------
猜测第46个单词,长度为9,可以猜错10次。
10.9.-[S*****S*S]-排除了89个单词
9.8.-[S***C*S*S]-排除了6个单词
8.-[S**ICIS*S]-排除了1个单词
8.-[ST*ICIS*S]-排除了1个单词
8.-[STOICIS*S]-排除了1个单词
8.-[STOICISMS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "C", "I", "T", "O", "M"],共8个
[猜中的单词是]    STOICISMS!

 --------------------------------------------------------------------------------
猜测第47个单词,长度为8,可以猜错10次。
10.9.-[*******S]-排除了9757个单词
9.-[*A****AS]-排除了104个单词
9.8.-[*A*I**AS]-排除了9个单词
8.7.6.5.-[MA*I**AS]-排除了3个单词
5.4.-[MATI**AS]-排除了1个单词
4.-[MATIL*AS]-排除了1个单词
4.-[MATILDAS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "B", "I", "C", "O", "F", "M", "N", "T", "L", "D"],共13个
[猜中的单词是]    MATILDAS!

 --------------------------------------------------------------------------------
猜测第48个单词,长度为13,可以猜错10次。
10.-[*I***********]-排除了645个单词
10.9.8.7.-[*I*E**E****E*]-排除了2个单词
7.-[VI*E**E****E*]-排除了1个单词
7.-[VI*EO*E*O**E*]-排除了1个单词
7.-[VIDEO*E*O*DE*]-排除了1个单词
7.-[VIDEORE*ORDER]-排除了1个单词
7.-[VIDEORECORDER]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "M", "A", "B", "E", "V", "O", "D", "R", "C"],共10个
[猜中的单词是]    VIDEORECORDER!

 --------------------------------------------------------------------------------
猜测第49个单词,长度为8,可以猜错10次。
10.9.-[*******S]-排除了9757个单词
9.-[***A***S]-排除了493个单词
9.8.7.6.-[I**A*I*S]-排除了3个单词
6.-[IN*A*I*S]-排除了3个单词
6.5.-[INVA*I*S]-排除了1个单词
5.-[INVALI*S]-排除了1个单词
5.-[INVALIDS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "B", "O", "C", "I", "N", "F", "V", "L", "D"],共12个
[猜中的单词是]    INVALIDS!

 --------------------------------------------------------------------------------
猜测第50个单词,长度为15,可以猜错10次。
10.-[*I******I**I***]-排除了10个单词
10.9.8.7.-[*I**E***I**I***]-排除了2个单词
7.-[MI**E***I**I***]-排除了1个单词
7.-[MI**E***I**IO**]-排除了1个单词
7.-[MIS*ES**I**IO*S]-排除了1个单词
7.-[MISDES**I**IO*S]-排除了1个单词
7.-[MISDESC*I**IO*S]-排除了1个单词
7.-[MISDESCRI**IO*S]-排除了1个单词
7.-[MISDESCRIP*IO*S]-排除了1个单词
7.-[MISDESCRIPTIO*S]-排除了1个单词
7.-[MISDESCRIPTIONS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "B", "A", "F", "E", "M", "O", "S", "D", "C", "R", "P", "T", "N"],共14个
[猜中的单词是]    MISDESCRIPTIONS!

 --------------------------------------------------------------------------------
猜测第51个单词,长度为13,可以猜错10次。
10.-[*******I*****]-排除了741个单词
10.-[**C****IC****]-排除了4个单词
10.-[A*C****ICA***]-排除了1个单词
10.-[ALC***LICALL*]-排除了1个单词
10.-[ALCO*OLICALL*]-排除了1个单词
10.-[ALCOHOLICALL*]-排除了1个单词
10.-[ALCOHOLICALLY]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "C", "A", "L", "O", "H", "Y"],共7个
[猜中的单词是]    ALCOHOLICALLY!

 --------------------------------------------------------------------------------
猜测第52个单词,长度为3,可以猜错10次。
10.9.8.7.-[I**]-排除了19个单词
7.6.5.4.3.-[IM*]-排除了1个单词
3.-[IMP]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["A", "E", "O", "I", "C", "D", "F", "L", "M", "P"],共10个
[猜中的单词是]    IMP!

 --------------------------------------------------------------------------------
猜测第53个单词,长度为12,可以猜错10次。
10.-[E*******E***]-排除了44个单词
10.-[ED******E***]-排除了1个单词
10.-[ED**A***E***]-排除了1个单词
10.-[EDU*A***E***]-排除了1个单词
10.-[EDU*AI**E***]-排除了1个单词
10.-[EDUTAI**E*T*]-排除了1个单词
10.-[EDUTAIN*ENT*]-排除了1个单词
10.-[EDUTAINMENT*]-排除了1个单词
10.-[EDUTAINMENTS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "D", "A", "U", "I", "T", "N", "M", "S"],共9个
[猜中的单词是]    EDUTAINMENTS!

 --------------------------------------------------------------------------------
猜测第54个单词,长度为14,可以猜错10次。
10.-[*******I******]-排除了764个单词
10.9.-[*******I**A***]-排除了22个单词
9.8.-[**O****IO*A***]-排除了4个单词
8.-[P*O****IO*A***]-排除了1个单词
8.-[P*O*E**IO*A***]-排除了1个单词
8.-[PRO*E**IO*A***]-排除了1个单词
8.-[PROFE**IO*A***]-排除了1个单词
8.-[PROFESSIO*A***]-排除了1个单词
8.-[PROFESSIONA***]-排除了1个单词
8.-[PROFESSIONALL*]-排除了1个单词
8.-[PROFESSIONALLY]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "B", "A", "C", "O", "P", "E", "R", "F", "S", "N", "L", "Y"],共13个
[猜中的单词是]    PROFESSIONALLY!

 --------------------------------------------------------------------------------
猜测第55个单词,长度为6,可以猜错10次。
10.-[***E**]-排除了1421个单词
10.-[**BE**]-排除了35个单词
10.9.8.-[*IBE**]-排除了8个单词
8.7.6.5.-[LIBE**]-排除了2个单词
5.-[LIBER*]-排除了1个单词
5.-[LIBERS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "F", "G", "J", "L", "R", "S"],共11个
[猜中的单词是]    LIBERS!

 --------------------------------------------------------------------------------
猜测第56个单词,长度为7,可以猜错10次。
10.-[****E**]-排除了3038个单词
10.9.8.7.6.5.-[**O*E**]-排除了76个单词
5.4.3.2.-[P*O*E**]-排除了13个单词
2.1.-[PLO*E**]-排除了2个单词
1.[状态]            失败
[依次猜过的字母]  ["E", "B", "A", "C", "I", "D", "O", "F", "G", "K", "P", "H", "L", "V"],共14个
[还没猜完的单词]  [:PLOWERS] 这1个单词

 --------------------------------------------------------------------------------
猜测第57个单词,长度为8,可以猜错10次。
10.-[*EE***E*]-排除了31个单词
10.9.-[*EE*A*E*]-排除了7个单词
9.8.7.6.5.-[TEE*A*E*]-排除了2个单词
5.-[TEENA*E*]-排除了2个单词
5.-[TEENAGE*]-排除了2个单词
5.-[TEENAGED]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "H", "K", "P", "S", "T", "N", "G", "D"],共11个
[猜中的单词是]    TEENAGED!

 --------------------------------------------------------------------------------
猜测第58个单词,长度为10,可以猜错10次。
10.-[***E*E**E*]-排除了111个单词
10.-[***E*E**ED]-排除了20个单词
10.9.-[*N*E*E**ED]-排除了4个单词
9.8.-[UN*E*E**ED]-排除了3个单词
8.-[UNLE*ELLED]-排除了1个单词
8.-[UNLEVELLED]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "D", "A", "N", "I", "U", "L", "V"],共8个
[猜中的单词是]    UNLEVELLED!

 --------------------------------------------------------------------------------
猜测第59个单词,长度为5,可以猜错10次。
10.-[****S]-排除了2707个单词
10.-[A***S]-排除了104个单词
10.9.-[A**ES]-排除了17个单词
9.8.-[AI*ES]-排除了1个单词
8.-[AIDES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["S", "A", "B", "E", "C", "I", "D"],共7个
[猜中的单词是]    AIDES!

 --------------------------------------------------------------------------------
猜测第60个单词,长度为13,可以猜错10次。
10.9.-[E*****E*E****]-排除了6个单词
9.-[EN****E*E**N*]-排除了1个单词
9.-[EN*O**E*E*ON*]-排除了1个单词
9.-[ENDO**E*E*ON*]-排除了1个单词
9.-[ENDOS*E*E*ONS]-排除了1个单词
9.-[ENDOSKE*E*ONS]-排除了1个单词
9.-[ENDOSKELE*ONS]-排除了1个单词
9.-[ENDOSKELETONS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "E", "N", "O", "D", "S", "K", "L", "T"],共9个
[猜中的单词是]    ENDOSKELETONS!

 --------------------------------------------------------------------------------
猜测第61个单词,长度为11,可以猜错10次。
10.-[*****E***E*]-排除了323个单词
10.9.-[A****E***E*]-排除了6个单词
9.8.7.6.-[A****E**IE*]-排除了1个单词
6.-[AS***E**IES]-排除了1个单词
6.-[ASY**E**IES]-排除了1个单词
6.-[ASYMME**IES]-排除了1个单词
6.-[ASYMMET*IES]-排除了1个单词
6.-[ASYMMETRIES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "D", "A", "F", "O", "L", "I", "S", "Y", "M", "T", "R"],共12个
[猜中的单词是]    ASYMMETRIES!

 --------------------------------------------------------------------------------
猜测第62个单词,长度为14,可以猜错10次。
10.9.-[*******E*E**E*]-排除了96个单词
9.8.7.-[C*C****E*E**E*]-排除了1个单词
7.-[COC****E*E**E*]-排除了1个单词
7.-[COCK***E*E**E*]-排除了1个单词
7.-[COCKS**E*ESSES]-排除了1个单词
7.-[COCKSU*E*ESSES]-排除了1个单词
7.-[COCKSURE*ESSES]-排除了1个单词
7.-[COCKSURENESSES]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "E", "B", "A", "C", "O", "K", "S", "U", "R", "N"],共11个
[猜中的单词是]    COCKSURENESSES!

 --------------------------------------------------------------------------------
猜测第63个单词,长度为7,可以猜错10次。
10.-[****E**]-排除了3038个单词
10.9.8.7.-[*I**E**]-排除了278个单词
7.6.5.4.3.-[HI**E**]-排除了9个单词
3.2.-[HIN*E**]-排除了1个单词
2.-[HINTE**]-排除了1个单词
2.-[HINTER*]-排除了1个单词
2.-[HINTERS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "D", "O", "F", "G", "H", "L", "N", "T", "R", "S"],共15个
[猜中的单词是]    HINTERS!

 --------------------------------------------------------------------------------
猜测第64个单词,长度为9,可以猜错10次。
10.-[E********]-排除了1135个单词
10.9.-[EA*******]-排除了9个单词
9.-[EAR****R*]-排除了3个单词
9.-[EAR***OR*]-排除了3个单词
9.-[EART**OR*]-排除了3个单词
9.-[EARTH*OR*]-排除了3个单词
9.8.-[EARTHWOR*]-排除了2个单词
8.7.-[EARTHWORM]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "L", "A", "R", "O", "T", "H", "B", "W", "K", "M"],共11个
[猜中的单词是]    EARTHWORM!

 --------------------------------------------------------------------------------
猜测第65个单词,长度为9,可以猜错10次。
10.9.-[********S]-排除了10318个单词
9.-[****A***S]-排除了530个单词
9.8.-[****A*I*S]-排除了50个单词
8.7.-[*O**A*I*S]-排除了3个单词
7.-[FO**A*I*S]-排除了1个单词
7.-[FOR*A*I*S]-排除了1个单词
7.-[FORMA*I*S]-排除了1个单词
7.-[FORMALI*S]-排除了1个单词
7.-[FORMALINS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "B", "I", "C", "O", "F", "R", "M", "L", "N"],共12个
[猜中的单词是]    FORMALINS!

 --------------------------------------------------------------------------------
猜测第66个单词,长度为7,可以猜错10次。
10.9.-[******S]-排除了7543个单词
9.8.7.-[***I**S]-排除了284个单词
7.6.-[*O*I**S]-排除了32个单词
6.5.4.3.2.1.-[*O*IN*S]-排除了3个单词
1.-[RO*IN*S]-排除了2个单词
1.-[ROVIN*S]-排除了1个单词
1.-[ROVINGS]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "B", "I", "C", "O", "D", "L", "F", "H", "M", "N", "R", "V", "G"],共16个
[猜中的单词是]    ROVINGS!

 --------------------------------------------------------------------------------
猜测第67个单词,长度为10,可以猜错10次。
10.-[****E*****]-排除了2239个单词
10.9.-[****EA****]-排除了38个单词
9.8.-[****EA*I**]-排除了21个单词
8.7.-[S***EA*IS*]-排除了2个单词
7.-[SU**EA*IS*]-排除了2个单词
7.-[SURREA*IS*]-排除了2个单词
7.-[SURREALIS*]-排除了2个单词
7.6.-[SURREALIST]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "N", "S", "U", "R", "L", "M", "T"],共12个
[猜中的单词是]    SURREALIST!

 --------------------------------------------------------------------------------
猜测第68个单词,长度为6,可以猜错10次。
10.9.-[*****S]-排除了4306个单词
9.8.7.-[*O***S]-排除了320个单词
7.6.5.-[*O**DS]-排除了11个单词
5.4.3.2.-[MO**DS]-排除了3个单词
2.1.-[MOU*DS]-排除了2个单词
1.[状态]            失败
[依次猜过的字母]  ["E", "S", "A", "B", "O", "C", "I", "D", "F", "G", "H", "M", "P", "U", "L"],共15个
[还没猜完的单词]  [:MOUNDS] 这1个单词

 --------------------------------------------------------------------------------
猜测第69个单词,长度为9,可以猜错10次。
10.-[***E*****]-排除了2788个单词
10.9.8.7.-[***E**I**]-排除了132个单词
7.-[***ED*I**]-排除了2个单词
7.-[*O*EDOI**]-排除了1个单词
7.-[FO*EDOI**]-排除了1个单词
7.-[FOREDOI**]-排除了1个单词
7.-[FOREDOIN*]-排除了1个单词
7.-[FOREDOING]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "D", "O", "F", "R", "N", "G"],共11个
[猜中的单词是]    FOREDOING!

 --------------------------------------------------------------------------------
猜测第70个单词,长度为10,可以猜错10次。
10.-[******E**E]-排除了134个单词
10.-[**B***E**E]-排除了3个单词
10.-[**B*I*E**E]-排除了2个单词
10.-[S*BSI*E**E]-排除了1个单词
10.-[SUBSI*E**E]-排除了1个单词
10.-[SUBSIDE**E]-排除了1个单词
10.-[SUBSIDEN*E]-排除了1个单词
10.-[SUBSIDENCE]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "I", "S", "U", "D", "N", "C"],共8个
[猜中的单词是]    SUBSIDENCE!

 --------------------------------------------------------------------------------
猜测第71个单词,长度为8,可以猜错10次。
10.-[E**E**E*]-排除了37个单词
10.9.8.-[E*CE**E*]-排除了3个单词
8.-[EXCE**E*]-排除了3个单词
8.7.-[EXCESSE*]-排除了2个单词
7.-[EXCESSED]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "T", "I", "C", "X", "L", "S", "D"],共8个
[猜中的单词是]    EXCESSED!

 --------------------------------------------------------------------------------
猜测第72个单词,长度为7,可以猜错10次。
10.-[E***E*E]-排除了10个单词
10.9.-[E*I*E*E]-排除了3个单词
9.-[EPI*E*E]-排除了3个单词
9.8.7.-[EPIME*E]-排除了1个单词
7.-[EPIMERE]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "K", "I", "P", "C", "G", "M", "R"],共8个
[猜中的单词是]    EPIMERE!

 --------------------------------------------------------------------------------
猜测第73个单词,长度为8,可以猜错10次。
10.-[******E*]-排除了7538个单词
10.-[S*****E*]-排除了663个单词
10.-[S**A**E*]-排除了41个单词
10.-[SC*A**E*]-排除了10个单词
10.-[SC*A*LE*]-排除了2个单词
10.-[SCRA*LE*]-排除了2个单词
10.-[SCRAWLE*]-排除了1个单词
10.-[SCRAWLED]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "S", "A", "C", "L", "R", "W", "D"],共8个
[猜中的单词是]    SCRAWLED!

 --------------------------------------------------------------------------------
猜测第74个单词,长度为4,可以猜错10次。
10.9.8.7.6.-[*I**]-排除了511个单词
6.-[DI**]-排除了37个单词
6.5.4.3.2.-[DI*G]-排除了1个单词
2.-[DING]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["A", "E", "S", "O", "I", "D", "L", "B", "C", "T", "G", "N"],共12个
[猜中的单词是]    DING!

 --------------------------------------------------------------------------------
猜测第75个单词,长度为11,可以猜错10次。
10.-[***E*****E*]-排除了586个单词
10.9.-[A**E*****E*]-排除了23个单词
9.-[A**E*****ED]-排除了2个单词
9.-[A**E*O***ED]-排除了2个单词
9.-[ALLE*O***ED]-排除了2个单词
9.-[ALLE*O*I*ED]-排除了2个单词
9.-[ALLEGO*I*ED]-排除了2个单词
9.-[ALLEGORI*ED]-排除了2个单词
9.8.-[ALLEGORIZED]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "C", "A", "D", "O", "L", "I", "G", "R", "S", "Z"],共11个
[猜中的单词是]    ALLEGORIZED!

 --------------------------------------------------------------------------------
猜测第76个单词,长度为15,可以猜错10次。
10.9.-[*************E*]-排除了959个单词
9.8.-[*****A****A**E*]-排除了3个单词
8.-[C****A****A**E*]-排除了2个单词
8.-[C**O*A*O**A**E*]-排除了2个单词
8.-[CH*O*A*O**A*HE*]-排除了2个单词
8.-[CHRO*A*O*RA*HE*]-排除了2个单词
8.-[CHROMA*O*RA*HE*]-排除了1个单词
8.-[CHROMATO*RA*HE*]-排除了1个单词
8.-[CHROMATOGRA*HE*]-排除了1个单词
8.-[CHROMATOGRAPHE*]-排除了1个单词
8.-[CHROMATOGRAPHED]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["I", "E", "B", "A", "C", "O", "H", "R", "M", "T", "G", "P", "D"],共13个
[猜中的单词是]    CHROMATOGRAPHED!

 --------------------------------------------------------------------------------
猜测第77个单词,长度为7,可以猜错10次。
10.-[****E**]-排除了3038个单词
10.9.8.7.-[I***E**]-排除了23个单词
7.6.5.-[IM**E**]-排除了3个单词
5.-[IMP*E**]-排除了3个单词
5.-[IMPRE**]-排除了3个单词
5.4.-[IMPRES*]-排除了2个单词
4.-[IMPREST]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "L", "O", "M", "P", "R", "G", "S", "T"],共13个
[猜中的单词是]    IMPREST!

 --------------------------------------------------------------------------------
猜测第78个单词,长度为7,可以猜错10次。
10.-[****E**]-排除了3038个单词
10.9.8.7.6.5.-[O***E**]-排除了22个单词
5.4.-[O***EP*]-排除了2个单词
4.-[OU**EP*]-排除了2个单词
4.-[OUT*EPT]-排除了2个单词
4.3.-[OUTWEPT]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "C", "I", "D", "O", "F", "P", "U", "T", "K", "W"],共13个
[猜中的单词是]    OUTWEPT!

 --------------------------------------------------------------------------------
猜测第79个单词,长度为12,可以猜错10次。
10.9.-[***I*****I**]-排除了338个单词
9.8.-[**AI**A**I**]-排除了1个单词
8.-[B*AI**A**I**]-排除了1个单词
8.-[BRAI**A**I**]-排除了1个单词
8.-[BRAIN*A**IN*]-排除了1个单词
8.-[BRAINWA**IN*]-排除了1个单词
8.-[BRAINWAS*IN*]-排除了1个单词
8.-[BRAINWASHIN*]-排除了1个单词
8.-[BRAINWASHING]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "I", "C", "A", "B", "R", "N", "W", "S", "H", "G"],共11个
[猜中的单词是]    BRAINWASHING!

 --------------------------------------------------------------------------------
猜测第80个单词,长度为8,可以猜错10次。
10.-[*E*E***E]-排除了44个单词
10.9.8.7.-[*E*E*I*E]-排除了5个单词
7.6.5.-[SE*E*I*E]-排除了1个单词
5.-[SELE*I*E]-排除了1个单词
5.-[SELENI*E]-排除了1个单词
5.-[SELENITE]-排除了1个单词
[状态]            成功
[依次猜过的字母]  ["E", "B", "A", "D", "I", "P", "R", "S", "L", "N", "T"],共11个
[猜中的单词是]    SELENITE!

 --------------------------------------------------------------------------------
猜单词结果是: {"numberOfWordsTried"=>80, "numberOfCorrectWords"=>77, "numberOfWrongGuesses"=>3, "totalScore"=>0}

Finished in 9.71616 seconds.

6 tests, 14 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

0.62 tests/s, 1.44 assertions/s


18:26:56 - INFO - Guard is now watching at '/Users/mvj3/github/mvj3/hangman'
[1] guard(main)> 

Top scores in other place

http://community.topcoder.com/tc?module=ProblemDetail&rd=4770&pm=2343
Problems Submitted   57
Problems Correct     49
Submission Accuracy  85.96%
Problems Failed by Challenge     7
Problems Failed by System Test   1
Challenge Attempts Made  12
Challenge Accuracy   58.33%
Best Time   0:04:13.448 0:03:12.509
Fastest Ruberik
Average Correct Time    0:13:05.750

帖子好长啊,如果有博客就好了,直接贴链接

#1 楼 @small_fish__ 哈,长的部分其实就是测试结果,这样别人直接看也可以明白其中过程。我就是把项目的 README 贴过来了:)

明白基本规则后,算法的文档部分就在解题步骤。所以如果感兴趣的话,请直接看程序吧。

个人贴这里的想法就是看看是否有人能帮忙算出给定 data 目录里的任何单词,最差猜的次数在理论上可以最少到多少次,写成论文形式最好了!

记得唯一一次不成功的面试就是搞这玩意,我也是 80 个词达到大概 78,76 这样的水平。

#3 楼 @pepsin 兄弟也是面试 Strikingly ?

那我和你成绩差不多,要不把你的代码也放到 Github,我好奇其他人在有限时间里是怎么实现和解决的。


Wikipedia 里说的策略是按 e-t-a-o-i-n-s-h-r-d-l-u 顺序猜测,但我以为说的太简单了,其实猜成功一个单词后就有位置信息可以作为排除手段的。

#4 楼 @mvj3 把每个长度的最佳决策树算出来就好了,运行时就是 O(1) 的猜,然后这个决策树写成代码可以比查表更快。

#5 楼 @luikore 在理,我的 解题步骤 也算是没加缓存的决策树吧:)

#6 楼 @mvj3 是在做决策,但是没树...

#7 楼 @luikore 我的树种在这里 https://github.com/mvj3/hangman/blob/48034eee7ec0c1167226984b512f99bf3cd07af5/lib/hangman/constants.rb#L53 ...

该项目数据结构的核心基本就在这里了。但是我这里不一样的就是,不是正式定义里的包括分类数据和判断过程的决策树(我可能说错了哈,没做过机器学习方面的工作),而仅仅是作为 为访问优化的数据结构 提供给外部程序逻辑 用于对决策条件的不断收敛。

#4 楼 @mvj3 其实就是元音先行,然后猜字排除吧,也没啥了。他们服务器很坑,卡卡的,开头浪费了不少时间处理超时上,后来才干脆自己写了个测试本地测。

#9 楼 @luikore 大赞,果断 star 和 fork!

你写的数据结构内核比我的更精妙,不需要手工调整参数什么的。

不过原理上我感觉是差不多的,上午我想稍微改写一下,发现自己原来写的难以维护,调了几小时无果后放弃了,以后有机会再弄:)

#10 楼 @pepsin 加上网络部分后确实让人写代码的时候想脏 Hack 的成分会更多些,我后来不得已也是把 Source 类拆成了 Local 和 Remote 两部分了。写代码的过程已经被我记到 人类思维和软件工程学 的 混沌时代 这一段里了。

这种有应用场景的跟算法,很有意思 mark 学习

赞一个。。

14 楼 已删除
15 楼 已删除

偶然间挖坟,看到了这样一篇好文。哈哈!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号