zoukankan      html  css  js  c++  java
  • 编程之美 set 19 连连看游戏设计

    题目

    1. 怎么用简单的计算机模型来描述这个问题 ?

    2. 怎么判断两个图像是否能相消

    3. 怎么求出相同图形之间的最短距离(转弯数最少)?

    4. 怎么确定目前处于死锁状态? 如何设计算法来解除死锁?

    分析

    1. 在经典最短路径算法中, 需要求出经过格子最少的路径, 而这里, 为了保证转弯数最少, 需要把路径问题的目标函数改成从一个点到另一个点最少的转弯数. 虽然算法的目标函数改了, 但是算法的框架仍然不变. 

    2. 假设现在要解决图形 A 和图形 B 之间的最短路径问题

    4. 在练练看的最外层加上空白的一层格子

    5. 首先把图形 A(x1,y1) 加入到队列中, 然后扩展A可以直线到达的格子, 假设这些格子的集合是 s0, s0 = Find(x1, y1). 如果图形B 在 s0 中, 则搜索结束, AB可以直线相连

    6. 否则再从 s0 开始, 再进行 BFS

  • 相关阅读:
    html表单
    html基础
    MySQL数据库 数据的更新
    JAVA数据库编程
    集合框架
    线程和进程
    反射
    centos 7环境
    js中的this
    javascript的作用域以及闭包现象
  • 原文地址:https://www.cnblogs.com/xinsheng/p/3570752.html
Copyright © 2011-2022 走看看