4
最佳计分板
我有兴趣看到此问题(现已失效)的答案,但从未对其进行过纠正/改进。 给定一组6面Boggle骰子(此问题中的配置被盗),请在两分钟的处理时间内确定哪种电路板配置将允许最高分。(即哪个骰子在哪个位置,哪个面朝上允许最大的得分单词池?) 目的 您的代码运行时间不得超过2分钟(120秒)。那时,它应该自动停止运行并打印结果。 最终挑战分数将是该程序运行5次的平均Boggle分数。 如果出现平局,则获胜者将是发现更多单词的算法。 如果仍然有平局,则获胜者将是找到更长 (8+)个单词的算法。 规则/约束 这是一个代码挑战。代码长度无关紧要。 请参考此链接以获取单词列表(使用ISPELL "english.0"列表-SCOWL列表缺少一些非常常见的单词)。 您可以通过任何方式在您的代码中引用/导入/阅读此清单。 仅^([a-pr-z]|qu){3,16}$计算与正则表达式匹配的单词。(只有小写字母(3-16个字符,qu必须用作单位)。 通过链接相邻的字母(水平,垂直和对角线)以正确的顺序拼写单词,而不会在单个单词中多次使用单个骰子来形成单词。 单词必须是3个字母或更长;简短的单词将不赚分。 重复的字母是可以接受的,只是不能骰子。 单词不能跨越边或从木板的一侧越过到另一侧。 最终的Boggle(而非挑战)分数是找到的所有单词的总分。 为每个单词分配的点值基于单词的长度。(见下文) 普通的Boggle规则会扣除/打折其他玩家找到的单词。假设这里没有其他玩家参与,所有找到的单词都计入总分。 但是,在同一网格中发现多次的单词仅应计数一次。 你的函数/程序必须寻找最佳的安排; 简单地对预定列表进行硬编码将无法实现。 您的输出应该是理想游戏板的4x4网格,该板所有找到的单词的列表以及与这些单词匹配的Boggle得分。 模具配置 A A E E G N E L R T T Y A O O T T W A B B J O O …