Welcome to 0516f.com ! 游戏 应用 新闻 专题 排行
首页 > 游戏 > 问答 > Numbers - Bigger or Smaller
Numbers - Bigger or Smaller

Numbers - Bigger or Smaller

评分:4.1
下载
  • 程序描述

这描述了经典的“15 谜题”(或更大的变体)。 我无法提供单一的解决方案,因为该解决方案完全取决于 30 个数字的初始排列。 为了解决这个问题,您需要使用搜索算法(例如 A*、广度优先搜索或深度优先搜索)来查找最佳交换序列。 对于这种规模的谜题,这些算法的计算量很大。

没有捷径;您需要系统地将数字移动到正确的位置。 还有一些排列是无解的,取决于排列的奇偶性。

这是解决这个问题的程序需要做的事情:

  1. 表示谜题:创建一个数据结构(可能是二维数组或一维数组)来保存 30 个数字。

  2. 定义目标状态:表示正确排序的数字 (1, 2, 3...30) 的数据结构。

  3. 实现搜索算法:选择适当的算法(A* 通常因其效率而被首选)来探索可能的交换序列。 该算法需要跟踪访问过的状态以避免循环。

  4. *启发式函数(对于 A):* 如果使用 A,您需要一个启发式函数来估计从给定状态到目标状态的距离。 15 个谜题的常见启发式(并且适用于这个更大的版本)是曼哈顿距离(每个图块与其目标位置的距离之和)。

  5. 交换函数:交换拼图表示中的两个数字的函数。

  6. 终止条件:算法在找到目标状态时停止。

这是一项复杂的编程任务,远远超出了简单的响应。 您需要使用 Python、C 或 Java 等编程语言来实现此目的。 库的存在是为了帮助搜索算法,但需要编写核心逻辑。

Numbers - Bigger or Smaller应用截图第0张
Numbers - Bigger or Smaller应用截图第1张
Numbers - Bigger or Smaller应用截图第2张
Numbers - Bigger or Smaller应用截图第3张
Numbers - Bigger or Smaller类似游戏
最新文章