Unique Paths III

Given a grid with start (2), end (3), empty cells (0), and obstacles (1), count the number of paths from start to end that visit every empty cell exactly once.

Examples
Input: [[1,0,0,0],[0,0,0,0],[0,0,2,-1]]
Output: 2
Hints

Unique Paths III

Given a grid with start (2), end (3), empty cells (0), and obstacles (1), count the number of paths from start to end that visit every empty cell exactly once.