#include //From http://www.richelbilderbeek.nl/CppCountDeadEnds.htm const int CountDeadEnds(const std::vector >& maze) { const int size = maze.size(); int nDeadEnds = 0; for (int y=1; y!=size-1; ++y) { for (int x=1; x!=size-1; ++x) { if (maze[y][x] != 0) continue; //Continue if here is a wall const int nWalls = (maze[y+1][x ] == 1 ? 1 : 0) + (maze[y-1][x ] == 1 ? 1 : 0) + (maze[y ][x+1] == 1 ? 1 : 0) + (maze[y ][x-1] == 1 ? 1 : 0); if (nWalls == 3) ++nDeadEnds; } } return nDeadEnds; }