1009 細胞(dfs的用法之一)

2021-09-14 02:51:35 字數 810 閱讀 4418

題目:1009: 細胞

description

一矩形陣列由數字0到9組成,數字1到9代表細胞。

細胞的定義為沿細胞數字上下左右還是細胞數字則為同一細胞。

求給定矩形陣列的細胞個數。

如陣列  

4  10

0234500067

1034560500

2045600671

0000000089

有4個細胞。

input

第一行包含2個整數n和m,分別表示矩形陣列的行數和列數。

接下來的n行,每行m個數字,代表細胞的矩形陣列。

output

輸出細胞的個數。

sample input

4 10

0234500067

1034560500

2045600671

0000000089

sample output

4思路:這個題目的大體意思是輸入的細胞矩陣,只要是數字相鄰並且相連(且不能是0!),即為乙個細胞;

所以這個用dfs的方法,即每次排查的時候,找到如果不是0,則進入函式,先將這個位置給變成0,然後再排查其相鄰的所有範圍是否有非0項,有則將其變為0(因為相鄰的話就算作乙個細胞了);就這樣依次排查進行即可;

**:

#includevoid dfs(int ,int );

int t_x=;

int t_y=;

int n,m;

char a[1000][1000];

int main()

}}

DFS入門之一

深度優先搜尋實現較為簡單,需要控制兩個因素 1.已經訪問過的元素不能再訪問,在實際題目中還要加上不能訪問的元素 障礙 2.越界這種情況是不允許的 以杭電的1312 red and black 為例,這是一道典型的dfs題目 傳送門 題目大意 代表起始位置,代表黑點 可以穿越 代表紅點 障礙 要求統計...

mysql之一 基本用法

mysql還真的與sql server的語法有些不同,所以有必要操練操練.安裝時候一定要注意最後的窗體上的初始密碼,這個很重要,改密碼都得靠它了,而且這個密碼還挺難輸入。今天暫時先練習這10條吧,明天再看看主外來鍵怎麼用。1,mysql修改密碼 2,mysql命令 3,判斷資料庫存在 4,判斷表是否...

setjmp與longjmp 用法之一

有時候,當接收到乙個訊號時,希望能跳回程式中以前的乙個位置執行。例如,在有 的程式內,當使用者按了中斷鍵,則程式跳回到顯示主選單執行。我們可以用庫系統呼叫 setjmp 和longjmp 來完成這項工作。setjmp 能儲存程式中的當前位置 是通過儲存堆疊 環境實現的 longjmp 能把控制轉回到...