03-連連看-連通分析

連通分爲3中算法

1.直連。.net

分爲兩種狀況,一種二者之間相鄰。另外一種是二者之間已經沒有有效的Block遞歸

2.一個折點rem

將兩個點視爲一個矩形的對角頂點,另一對對角頂點只要有一個符合直連的狀況,則符合一個折點的連通條件get

3.兩個折點源碼

從圖中所示,能夠將兩個折點的問題變成一個折點的問題。import

即:搜索

將第一個選擇點做爲種子點,而後沿着4個方向,在棋盤中分別搜索。下載

沿着一個方向,每次前進一步,判斷是否爲一個折點連通。若是是,則代表兩個折點連通成立。固然在前進方向上若是遇到一個有效的Block,則該方向上搜索失敗。im

而若是沿着一個方向一直到了邊界,則越過邊界,找到對應的另外一個折點,判斷折點和兩一個選擇點是否水平直通便可。

 

該算法其實最重要的思路是,將複雜的問題,遞歸簡化爲簡單的問題解答。

 

總的來講,判斷是否連通:

 
源碼下載地址:
相關文章
相關標籤/搜索