題目描述
給定乙個二維的矩陣,包含 『x』 和 『o』(字母 o)。
找到所有被 『x』 圍繞的區域,並將這些區域裡所有的 『o』 用 『x』 填充。
輸入
輸入樣例由多組資料組成。第一行輸入兩個正整數n,m表示邊界。(1<=n,m<=100)
接下來輸入nm個』x』和』o』表示矩陣。
輸出
輸出乙個nm的矩陣表示填充後的矩陣。
樣例輸入 copy
4 4x x x x
x o o x
x x o x
x o x x
樣例輸出 copy
x x x x
x x x x
x x x x
x o x x
#include
using
namespace std;
int n, m, flag;
int dir[4]
[2]=
,,,}
;char a[
505]
[505];
int v[
505]
[505];
struct q1nex;
queueq;
void
dfs(
int x,
int y)
if(a[tx]
[ty]
=='o'
&& v[tx]
[ty]==0
)}}int
main()
for(
int i =
0; i < n; i++
) q.
pop();
}}}}
for(
int i =
0; i < n; i++
) cout << endl;}}
return0;
}/*4 5x x x x x
x x o x x
x o x o x
x o x x x
*/
130 被包圍的區域python實現
題目描述 給定乙個二維的矩陣,包含 x 和 o 字母 o 找到所有被 x 圍繞的區域,並將這些區域裡所有的 o 用 x 填充。參考別人的思路,用dfs寫了以下 遇到了一些坑。class solution object defsolve self,board type board list list ...
求多邊形包圍區域
求多邊形包圍區域 已知單元格中,黑色部分為封閉邊緣,如何求出綠色部分也在包圍圈之內?有了上面的概念之後,只需要選定乙個點作為起點並沿邊緣走一圈再回到起點,通過判斷向左側拐和向右拐的次數,若左拐次數大於右拐次數則為左側包圍,反之為右側包圍。在給定的包圍順序下判定了左 右 側包圍,遍可獲得包圍區域 以上...
C 驗證LeetCode包圍區域的DFS方法
在leetcode中的surrounded regions 包圍區域這道題中,我們發現用dfs方法中的最後乙個條件必須是j 1,如下面的紅色字型所示,如果寫成j 0的話無法通過oj,一直百思不得其解其中的原因,直到有告訴我說他驗證了最後乙個大集合在本地機子上可以通過,那麼我也來驗證看看吧。class...