980. The different paths III

kirin 980 还行

First, write their own time to 5%, 5% space, garbage Code

 1 bool ok(vector<vector<int>> grid,int m,int n)
 2 {
 3     bool res = true;
 4     for (int i = 0; i < grid.size(); i++)
 5     {
 6         for (int j = 0; j < grid[0].size(); j++)
 7         {
 8             if (grid[i][j] == 0)
 9             {
10                 res = false;
11                 break;
12             }
13         }
14     }
15     return res;
16 }
17 int use(vector<vector<int>> grid, int m, int n)
18 {
19     if (m < grid.size() && n < grid[0].size()&& grid[m][n] == 2)
20         return 2;
21     else if (m < grid.size() && n < grid[0].size() && (grid[m][n] == 0||grid[m][n]==1) )
22     {
23         return 1;
24     }
25     else
26         return -1;
27 }
28 void back(vector<vector<int>>& grid, int& res,int m,int n)
29 {
30     if (use(grid, m, n) == 1)
31     {
32         grid[m][n] = -1;
33         m++;
34         back(grid, res, m, n);
35         m--;
36         grid[m][n] = 0;
37 
38         grid[m][n] = -1;
39         n++;
40         back(grid, res, m, n);
41         n--;
42         grid[m][n] = 0;
43 
44         grid[m][n] = -1;
45         m--;
46         back(grid, res, m, n);
47         m++;;
48         grid[m][n] = 0;
49 
50         grid[m][n] = -1;
51         n--;
52         back(grid, res, m, n);
53         n++;
54         grid[m][n] = 0;
55     }
56     else if (use(grid, m, n) == 2&& ok(grid,m,n))
57         res++;
58     else
59         return;
60 }
61 int uniquePathsIII(vector<vector<int>>& grid) {
62     int res = 0;
63     if (grid.size() == 0)
64         return 0;
65     int m = 0, n = 0;
66     for (int i = 0; i < grid.size(); i++)
67     {
68         for (int j = 0; j < grid[0].size(); j++)
69         {
70             if (grid[i][j] == 1)
71             {
72                 m = i;
73                 n = j;
74                 break;
75             }
76         }
77     }
78     back(grid, res,m,n);
79     return res;
80 }

Second, the problem solution

Hamilton, dynamic programming

Guess you like

Origin www.cnblogs.com/zouma/p/11607222.html