DFS入門之一

2022-07-14 23:57:23 字數 613 閱讀 2882

深度優先搜尋實現較為簡單,需要控制兩個因素:

1.已經訪問過的元素不能再訪問,在實際題目中還要加上不能訪問的元素(障礙)

2.越界這種情況是不允許的

以杭電的1312 red and black 為例, 這是一道典型的dfs題目

傳送門:

題目大意:'@'代表起始位置, '.' 代表黑點(可以穿越),'#' 代表紅點(障礙) 要求統計最多可以覆蓋多少個黑點

題目分析:確定起始位置 -> 開始dfs -> 如果不是非法位置,計數一次 -> 遞迴的搜尋四個方向(up, down, left, right) ->結束

#include #include 

const

int maxn = 50 + 10

;char

a[maxn][maxn];

intw, h, idx[maxn][maxn], cnt;

int dfs(int r, int c, int

id)int

main()

dfs(r, c, 1);

printf(

"%d\n

", cnt);

}return0;

}

參考一下?

Nginx入門之一

對於nginx早已耳聞,也已看好好多人對此元件的誇讚,效能是如何如何的好 但是一直沒有去看這方面的資料。今天興致來了,就研究了一番,不過並沒有什麼測試資料,只是在本地跑通了而已,因為我家只有乙個電腦也沒有裝虛擬機器,所以就出來了下面的配置檔案。今天算是乙個入門,接下來會詳細了解一下。以下是我本地的n...

Opencv 入門之 一

include include using namespace std using namespace cv int main int argc,char argv namedwindow display image window autosize 建立視窗 imshow display image...

Git入門 之 一

git 配置使用者名稱和郵箱 當前級別 local global system 大多數情況下用local 但如果都有設定的話,優先順序排序 local global system 如何建立乙個倉庫 git init 倉庫名 倉庫裡的檔案分三個層次 先在工作目錄修改,然後 git add filesn...