題解 搜尋 之 細胞 最好的草(詳細解析)

2021-10-08 11:07:28 字數 2899 閱讀 9959

題目描述

乙個矩形陣列由數字0~9組成,數字1 ~9代表細胞,如果乙個數的上下左右有相同的數,則它們屬於同乙個細胞,求給定的矩形陣列的細胞個數 如:

138332

125322

235312

一共有10個細胞。

輸入格式

•第一行兩個整數n,m。(n<=1000,m<=1000)表示矩陣有n行m列。接下來是這個矩陣。

輸出格式

有多少細胞

樣例

##樣例輸入

3 532372

25275

19145

##樣例輸出

13

這一道題算是乙個搜尋的板題

思路非常的簡單,就是在遍歷每個數時,都進行一次搜尋。

而搜尋思路呢,就是用dfs.

void

dfs(

int x,

int y,

int from)

flag[x]

[y]=

true

;dfs

(x+1

,y,a[x]

[y])

;dfs

(x-1

,y,a[x]

[y])

;dfs

(x,y+

1,a[x]

[y])

;dfs

(x,y-

1,a[x]

[y])

;}

用 flag 布林陣列來記錄走過的路。

#include

#include

#include

using

namespace std;

const

int m=

10005

;int a[m]

[m];

bool flag[m]

[m];

int n,m,ans;

void

read()

}}void

dfs(

int x,

int y,

int from)

flag[x]

[y]=

true

;dfs

(x+1

,y,a[x]

[y])

;dfs

(x-1

,y,a[x]

[y])

;dfs

(x,y+

1,a[x]

[y])

;dfs

(x,y-

1,a[x]

[y]);}

intmain()

if(flag[i]

[j]==

false)}

}printf

("%d"

,ans)

;return0;

}

奶牛bessie計畫好好享受柔軟的春季新草。新草分布在r行c列的牧場裡。它想計算一下牧場中的草叢數量。

在牧場地圖中,每個草叢要麼是單個「#」,要麼是有公共邊的相鄰多個「#」。給定牧場地圖,計算有多少個草叢。

例如,考慮如下5行6列的牧場地圖

. # . . # #

. . # . . #

. . # . . #

. . # # # .

# # . . . .

這個牧場有4個草叢。

輸入格式

第一行包含兩個整數r和c,中間用單個空格隔開。 接下來r行,每行c個字元,描述牧場地圖。字元只有「#」或「.」兩種。(1 <= r, c <= 100 )

輸出格式

輸出乙個整數,表示草叢數。

樣例

##樣例輸入

5 6.#…##

…#…#

…#…#

…###.

##…##樣例輸出

4

這一道題與上一題十分相像,就是在遍歷上有一點變化,即在找到草時,才開始搜尋。在搜尋時,我們需要乙個 maxn 來記錄這一堆草的數量。

#include

#include

// #include

using

namespace std;

const

int m =

105;

int num[m]

[m], ans;

char a[m]

[m];

int n, m;

void

scan

(int x,

int y)

}void

print

(int x,

int y)

puts(""

);}}

void

array_conversion

(int x,

int y)}}

void

grass_one

(int x,

int y)

if(num[x]

[y +1]

==1)if

(num[x -1]

[y]==1)

if(num[x]

[y -1]

==1)}

intmain()

}}printf

("%d"

, ans)

;return0;

}

最好理解的八皇后題解

八皇后問題 n 皇后問題研究的是如何將 n 個皇后放置在 n n 的棋盤上,並且使皇后彼此之間不能相互攻擊。皇后以行,列,對角線移動,如果乙個皇后通過移動可到達另一皇后的位置,即可以攻擊到。include using namespace std include 遞迴演算法解決八皇后問題。總共有92種...

轉)4個最好的PDF搜尋引擎

前幾天,watsonxu 剛剛推薦過 12個實用的word pdf文件搜尋引擎 今天本人又發現乙個巨好的專業水準pdf 搜尋引擎,重點推薦給大家!藉此機會將專業pdf 搜尋引擎單獨列出,並作簡單的評測分析!1 search pdf 2 pdfgeni 3 pdf search 4 pdfdataba...

Leetcode題解之樹(3)驗證二叉搜尋樹

題目 題目描述 對稱二叉樹 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。思...