Nurikabe is a puzzle type developed by Nikoli.
Your task is to create a ocean of shaded cells with islands of unshaded cells inside it which satisfy the following:
- Each island has exactly one number on it, and the number indicates the size of the island, i.e. the number of cells in it.
- No two islands maybe orthogonally adjacent.
- The ocean is only one ocean, so all the shaded cells must be connected.
- No 2×2 square of cells is completely shaded.
The solution is unique.