In the fifth part of my video lecture series introducing the Standard Template Library, I explain how the advanced analysis in my Nurikabe solver works. One of its steps involves using a breadth-first search to detect any unreachable cells.
Mandatory prerequisites of Part 5 are reading Wikipedia’s Nurikabe page and watching Part 4 (the introduction to my Nurikabe solver). It also assumes that you’ve watched Part 1 (sequence containers), Part 2 (associative containers), and Part 3 (smart pointers), or that you’re already familiar with those topics.
I highly encourage you to read this extended example and see how basically every line uses the STL to do clever things. My original source code and output are available. I’ve been working on improving them, and versions 1.0 through 1.3 are available here.
Stephan T. Lavavej
Visual C++ Libraries Developer