The object is to shade in some of the grid squares without circles so that the grid is partitioned into a number of regions equal to the number of colors (besides gray) in the grid. Any two circles of the same color should have a path between them through adjacent, unfilled squares, but no two circles of different colors should have such a path. If a circle has a number inside of it, that tells how many of the four adjacent squares are filled in. Finally, there can be no “useless” filled squares that do nothing to separate the regions. More precisely, any filled square must be adjacent to at least two different regions.
If you are confused, see the example below: