洛谷P1451求細胞數量再總結錯因

2021-10-23 20:44:21 字數 437 閱讀 2454

總結:

本體考慮用dfs解決問題時,發現了兩個之前並沒在意的錯因,第乙個便是在編寫搜尋函式時,對於搜尋的條件並沒有設定,導致沒有編譯通過,程式報錯,以本題為例,遞迴終止條件自然不用多說,即是否越界,而搜尋之前,須先判斷當前位置是否為細胞數字,是的話,才去搜尋,否則不搜;前幾次編譯的時候,就因為沒有設定該條件,導致程式無法執行,直接終止了。第二個便是一直忽略的錯誤,比如去列舉搜尋四個方向時,注意觀察一下兩個程式的區別,此處細節直接決定成敗!

方向1:(程式錯誤展示)

int dx[4]=;

int dy[4]=;

void dfs(int x,int y)

}執行程式發現,編譯不通過!!!!錯誤,以下正解;

方向2:(程式正確展示)

void dfs(int x,int y)

}

洛谷P1451 求細胞數量

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

洛谷P1451 求細胞數量

一矩形陣列由數字0到9組成,數字1到9代表細胞,細胞的定義為沿細胞數字上下左右若還是細胞數字則為同一細胞,求給定矩形陣列的細胞個數。如上圖所示,該矩陣可以劃分為4個細胞。對該矩陣進行掃瞄,如果當前元素不為0,細胞個數加1,然後對其四個方向進行遞迴,然後將當前元素置為0。這樣子通過兩重迴圈就可以找到矩...

洛谷P1451 求細胞數量

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