油田(bfs專題)

2021-10-01 03:31:00 字數 1091 閱讀 4676

地質勘探局地質勘探局負責探測地下油層。geosurvcomp每次處理乙個大的矩形區域,並建立乙個網格,將土地劃分為許多方形地塊。然後分別分析每個地塊,使用感測裝置來確定該地塊是否含有石油。一塊含有石油的土地叫做口袋。如果兩個油藏相鄰,則它們屬於同一油層。石油蘊藏量可能相當大,可能包含許多小塊。你的工作是確定乙個電網中有多少不同的石油儲藏。

輸入檔案包含乙個或多個網格。每個網格都以包含m和n的一行開始,m和n是網格中的行數和列數,由乙個空格分隔。如果m = 0,則表示輸入結束;否則1 <= m <= 100, 1 <= n <= 100。後面是m行,每行有n個字元(不包括行尾字元)。每個角色對應乙個情節,要麼是「*」,代表沒有石油,要麼是「@」,代表乙個油袋。

對於每個網格,輸出不同的石油儲量的數量。兩個不同的儲集層如果在水平、垂直或對角方向相鄰,則屬於同一油氣藏的一部分。乙個石油礦床最多只能容納100個口袋。「@」,代表乙個油袋。

樣例輸入11

*35*@*@*

**@*

**@*@*18

@@**

**@*55

****@

*@@*@

*@**@

@@@*@

@@**@00

樣例輸出01

22

使用遞迴解決,每次找到』@『時,總數加一,並且

將於該』@『連續的所有』@『標記為』#』。

**如下:

#

include

#include

#include

#include

using

namespace std;

char p[

105]

[105];

int n,m;

voidhs(

int x,

int y)}}

}int

main()

int sum =0;

for(i=

1; i<=n; i++)}

}printf

("%d\n"

,sum);}

return0;

}

DFS專題 BFS複習

題意 從起始點出發,遇到坑不走,問能夠到達的點有多少個。思路 板子題。dfs或者bfs都可以 dfs includeusing namespace std define ll long long define clr a memset a,0,sizeof a const int maxn 1e5 ...

油田合併問題

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

Oil Deposits(油田問題)

題意 找出地圖上的油層數,每個油層由多個油藏組成,這些油藏相鄰,常規的搜尋問題,每次向八個方向搜尋油藏。此處為dfs include include include include using namespace std intm,n char mp 105 105 void dfs int a,i...