zoukankan      html  css  js  c++  java
  • 03-连连看-连通分析

    连通分为3中

    1.直连。

    分为两种情况,一种两者之间相邻。另一种是两者之间已经没有有效的Block

    2.一个折点

    将两个点视为一个矩形的对角顶点,另外一对对角顶点只要有一个符合直连的情况,则符合一个折点的连通条件

    3.两个折点

    从图中所示,可以将两个折点的问题变成一个折点的问题。

    即:

    将第一个选择点作为种子点,然后沿着4个方向,在棋盘中分别搜索。

    沿着一个方向,每次前进一步,判断是否为一个折点连通。如果是,则表明两个折点连通成立。当然在前进方向上如果遇到一个有效的Block,则该方向上搜索失败。

    而如果沿着一个方向一直到了边界,则越过边界,找到对应的另一个折点,判断折点和两一个选择点是否水平直通即可。

     

    该算法其实最重要的思路是,将复杂的问题,递归简化为简单的问题解答。

     

    总的来说,判断是否连通:

     
    源码下载地址:
     
     
     
     
     
  • 相关阅读:
    Python数据分析与爬虫
    Python例题集
    Python知识点复习
    Python内置函数---ord()
    关于Xpath
    初学爬虫(3)
    python操作csv文件
    初学爬虫(二)
    网络爬虫引发的问题及robots协议
    初学爬虫(一)
  • 原文地址:https://www.cnblogs.com/sharpfeng/p/5181287.html
Copyright © 2011-2022 走看看