Given a matrix of ones and zeros, you must determine if there are any doughnuts present (would Homer Simpson like it?). A doughnut is a 4-connected region of ones completely enclosing a 4-connected region of zeros. You can assume that any regions of ones are either blobs (or genus 0) or doughnuts (genus 1). Thus if you find any hole in a region of ones, it is a doughnut. Also, there are no nested doughnuts.
Return true if any doughnuts are present, otherwise false.
Examples:
This is a doughnut:
1 1 1
1 0 1
1 1 1
Here is another doughnut:
0 0 0 1 1 1
0 1 1 1 0 1
0 0 1 0 0 1
0 0 1 1 1 1
This is not a doughnut:
0 1 0
1 0 1
0 1 0
because the ones are not 4-connected and so can't surround anything.
Solution Stats
Problem Comments
4 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers20
Suggested Problems
-
3433 Solvers
-
Project Euler: Problem 6, Natural numbers, squares and sums.
2541 Solvers
-
764 Solvers
-
Create an n-by-n null matrix and fill with ones certain positions
718 Solvers
-
Sums of cubes and squares of sums
371 Solvers
More from this Author54
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
mmm... the image processing toolbox seems to be available again?
Oh! Thanks for pointing that out. It will disappear again shortly. Sorry about that.
Sounds good (it was too easy this way)
Okay, we should be back to no-toolbox coding.