基礎搜尋題 油田合併 深度搜尋

2021-06-19 05:07:20 字數 759 閱讀 2607

某石油公司發現了乙個油田。該油田由n*m個單元組成的矩形,有些單元裡有石油,有些則沒有。單元油田可以通過上,下,左或右連通。在乙個單元油田裡架設一台採油機,它可以把和該單元油田相連的單元油田的石油採完。該公司想知道最少需要架設幾台採油機能把所有的石油採完?

輸入

先輸入2個正整數n,m(1<=n,m<=50)。接著有n行,每行有m個字元。'@'表示該單元有石油,'*'則表示該單元沒有石油。

輸入到檔案結束。

輸出

對於每組測試,輸出最少需要架設幾台採油機。

樣例輸入

2 2@**@

2 2@@

@@樣例輸出2

1解題報告:

此題的程式用的是深度優先搜尋,開始設乙個變數many,表示找到了多少塊油田,初始值為0,接著可以從第一塊土地開始搜尋,當遇到沒有標號的油田時,用深度搜尋把與這塊油田相連的其他油田全部標號,並且many ++;當把整個地圖都全部掃瞄完畢後,最後只需要輸出many的值即可。

**實現:

#include#include#includechar s[55][55];

int map[55][55];

int dfs(int i,int j);//深度搜尋

int n,m,many;

int main()

搜尋 深度搜尋 廣度搜尋

迷宮 題目描述 一天extense在森林裡探險的時候不小心走入了乙個迷宮,迷宮可以看成是由n n的格點組成,每個格點只有2種狀態,和 前者表示可以通行後者表示不能通行。同時當extense處在某個格點時,他只能移動到東南西北 或者說上下左右 四個方向之一的相鄰格點上,extense想要從點a走到點b...

基礎演算法 深度優先搜尋

祝食用愉快xd 是一道胡亂出的題 u56815 來走迷宮鴨!深度優先搜尋,如果能不碰牆地到達右下角的出口,就把旗子立起來表示找到了出口。什麼?你沒聽過深度優先搜尋 沒事,且聽我道來。那,深度優先搜尋又是什麼呢?拿走迷宮這事兒說起。如果你玩過 mc 或者無論從哪個去掉了解走迷宮的時候用的 右手法則 那...

深度搜尋和廣度搜尋

這篇部落格很早之前就寫好了,但是一直沒有發出來。在進行詳細解說之前,我們需要先借用圖的概念,圖就是由一些小圓點 稱為頂點 和連線這些小圓點的直線 稱為邊 組成的。如下圖是由5個頂點 1,2,3,4,5 和5 條邊 1 2,1 2,1 4,2 5,3 4 組成的。現在我們從一號頂點開始遍歷這個圖,使用...