Cell zeroing

Not the most efficient algorithm, but it only uses intrinsic structures.
You'd normally use a queue for the affected lists, so you would only
revisit cells that were affected.