dfs簡單應用(水坑數)

2021-10-02 08:30:59 字數 721 閱讀 5608

試題描述

有乙個大小為mn的園子,雨後積起了水。八連通的積水被認為是連線在一起的。請求出園子裡共有多少水窪?(八連通指的是下面圖中相對w的的部分)

限制條件:

n,m≤100

輸入第一行包含兩個正整數 n 和 m,表示將乙個園子地面分成n*m塊方格,n 行,m列,接下來的 n 行描述了園子地面狀況,其中『w』表示積水的水窪,『.』表示沒有積水。

輸出僅乙個數,表示水窪的總數。

輸入示例

10 12

w…ww.

.www…www

…ww…ww.

…ww.

…w……w…w…

.w.w…ww.

w.w.w…w.

.w.w…w…

…w…w.

輸出示例

3這道題的題目描述稍微有些繞彎。看懂之後發現,只要是連在一起的w,只能算作乙個水坑,就是問沒有連在一起的水坑數有多少

解題策略還是用dfs來實現

具體實現主要靠的是內外雙層的遍歷把每乙個w都持續延展,知道沒有與這塊水坑相鄰的w,返回主函式記錄乙個島嶼,

#include

using

namespace std;

void

dfs(

int m,

int n)

intmain()

cout

0;

AcWing 1613 數獨簡單版(DFS)

題目鏈結 數獨是一種傳統益智遊戲,你需要把乙個 9 9 的數獨補充完整,使得圖中每行 每列 每個 3 3 的九宮格內數字 1 9 均恰好出現一次。請編寫乙個程式填寫數獨。輸入格式 輸入共 9 行,每行包含乙個長度為 9 的字串,用來表示數獨矩陣。其中的每個字元都是 1 9 或 表示尚未填充 輸出格式...

pat L3 011 直搗黃龍 dfs簡單應用

時間限制 150 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 本題是一部戰爭大片 你需要從己方大本營出發,一路攻城略地殺到敵方大本營。首先時間就是生命,所以你必須選擇合適的路徑,以最快的速度占領敵方大本營。當這樣的路徑不唯一時,要求選擇可以沿途...

acwing 1613 數獨簡單版 DFS爆搜

題目連線 數獨問題,需要在橫 縱 每9個方格之中填1到9數字。我們可以構建一棵dfs樹,對於每乙個節點要求滿足以上三總條件才可以更新這乙個點,如果這個點可以走下去那麼就深度搜尋下去,並且更新當點的狀態以此復原現場。y總 include using namespace std const int n ...