1341 求細胞數量

2022-10-09 06:15:13 字數 966 閱讀 6170

一矩形陣列由數字0到9組成。我們把數字1到9稱為細胞數字,數字0稱為非細胞數字。

若乙個細胞數字上、下、左、右仍是細胞數字,我們則把這些細胞數字稱為同一細胞。 求給定矩形陣列中細胞的個數。

第1行,整數m、n(m表示行,n表示列、1<=m,n<=100)

接下來的m行表示輸入的矩形陣列

細胞的個數

4  10

0234500067

1034560500

2045600671

0000000089

4
此題就是一道簡單的bfs的求連通塊

遍歷每乙個點,將每個點都bfs一遍,前提是這個點不等於0(即是數字細胞) 和 這個點沒有被訪問過。只要能進入bfs,說明肯定有乙個細胞,ans++;

進入bfs的時候,先判斷當前遞迴到的這個點是不是0 和 這個點有沒有被訪問過,如果是就直接return 掉。否則就開始遍歷周圍的點,且將當前這個點標記為訪問過。

bfs結束後,直接輸出ans即可。

#include using namespace std;

int mp[105][105];//記錄矩陣

bool vis[105][105];//標記陣列,是否被訪問

int fx[5] = ;//x座標的變化

int fy[5] = ;//y座標的變化

void bfs(int x,int y)

}} int main()

}//輸入

for (int i = 1;i <= m;i++)//將所有點都標記為未訪問

}int ans = 0;//答案便量

for (int i = 1;i <= m;i++)}}

cout<···完結撒花···

求細胞數量(DFS)

題面 from luogu 求細胞數量 一矩形陣列由數字0到9組成,數字1到9代表細胞,細胞的定義為沿細胞數字上下左右若還是細胞數字則為同一細胞,求給定矩形陣列的細胞個數。1 m,n 100 輸入格式 輸入 整數m,n m行,n列 矩陣 輸出格式 輸出 細胞的個數 樣例.in 4 10 023450...

P1451 求細胞數量

這是一道典型的廣搜裸題,不多說,上 const z array 1.4,1.2 of longint 1,0 1,0 0,1 0,1 var i,j,k,t,h,q longint a array 20.1000,20.1000 of char x,y,s array 2.1000 of longi...

P1451 求細胞數量

題目描述 一矩形陣列由數字0到9組成,數字1到9代表細胞,細胞的定義為沿細胞數字上下左右若還是細胞數字則為同一細胞,求給定矩形陣列的細胞個數。1 m,n 100 輸入輸出格式 輸入格式 輸入 整數m,n m行,n列 矩陣輸出格式 輸出 細胞的個數 輸入輸出樣例 輸入樣例 1 4 10 0234500...