Shakashaka

Shakashaka (シャカシャカ) is a logic puzzle developed by publisher Nikoli.

Rules
Shakashaka is played on a rectangular grid of white and black squares. Some black cells may contain a number.

The objective of the puzzle is to place triangles in some of the white cells. There are four kinds of triangles which can be put in squares:

In the resulting grid,
 * The white parts of the grid (uncovered by black triangles) must form a rectangle or a square.
 * Black cells with a number must be orthogonally adjacent to the specified number of black triangles.

Computational complexity
It is NP-complete to decide whether a given Shakashaka puzzle has a solution. Furthermore, counting the number of solutions to a given Shakashaka puzzle is #P-complete.