我不确定为单词搜索益智游戏创建矩阵的规则。我能够创建一个初始值为0的矩阵。
我会随机地为一个单词选择一个起点(坐标)和一个随机方向(水平方向、垂直方向和对角方向),然后管理它是否会与矩阵中的另一个单词重叠?,如果它检查字符是否相同(虽然只有很小的机会),那么如果没有,我将在那里指定它。问题是我好像减少了单词重叠的机会。
我还读到,我需要首先检查具有相同字符的单词。但如果是这样的话,我要写在矩阵中的单词似乎总是重叠的。
发布于 2016-11-23 10:13:54
我宁愿看看已经存在的单词,然后随机地从一组合适的单词中选择一个单词。当然,你可能不会像这样填充整个矩阵。如果您将一个单词放置在某个地方,它会阻塞所有其他单词(其他单词不适合),您可能不得不回溯,但这将占用运行时间。
如果你真的想要填充整个矩阵,我会迭代所有可能的起始位置,看看合适的单词有多少,然后用最少的候选数重新考虑起始位置的可能性。这将导致您的程序识别并提前离开“死胡同”,这将大大提高运行时间。这是固定参数算法的一种强大技术,我喜欢称之为分支向量最小化。
https://stackoverflow.com/questions/40704339
复制相似问题