Hints for "Reveal labyrinth"
If the cell already has number of cells equal to this cell hint then the
rest of unknown sides of this cell may be cleared. For example, 0-cell
does not have any walls and all walls around it may be cleared.
1-cell located near the border of the labyrinth already has 1 wall
known, and the other sides may be cleared.
Similarly, 2-cell in the corner can be completely resolved:
1-cell does not have to be near the edge. Any time when a wall is put
adjacent to 1-cell, the rest of this cell sides may be cleared. Same is
true for 2-cell (when 2 walls are known the rest is clear) and 3-cell
(when 3 walls are known, the remaining is clear).
On the other hand, 1-cell has 1 wall and 3 clear sides, so if 3 clear
sides are known, the remaining must be the wall. Also, 2-cell has 2
walls and 2 clear sides, so when 2 sides are known to be clear, the rest
are the walls. 3 cell that has one clear side known, has the walls in
Hints, based on single-connectedness
There cannot be clear path between two 3-cells, for if it were, the
2x1 block would be surrounded completely by walls, which is impossible
in a single-connected labyrinth.
Each corner (common point of 4 adjacent cells) must have at least one
wall adjacent to it, for if it didn't have it, these for cells would
form a cycle, which is a violation of conditions. So, if 3 pathes
adjacent to a corner are known to be clear, the remaining is covered by