diff options
Diffstat (limited to 'other/out_of_bounds_paths.cpp')
-rw-r--r-- | other/out_of_bounds_paths.cpp | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/other/out_of_bounds_paths.cpp b/other/out_of_bounds_paths.cpp deleted file mode 100644 index af5ce3f..0000000 --- a/other/out_of_bounds_paths.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - int findPaths(int m, int n, int maxMove, int startRow, int startColumn) { - if (!maxMove) - return 0; - vector<vector<int>> curr(m + 2, vector<int>(n + 2)); - vector<vector<int>> last(m + 2, vector<int>(n + 2)); - for (int i = 1; i <= m; i++) { - curr[i][1]++; - curr[i][n]++; - } - for (int j = 1; j <= n; j++) { - curr[1][j]++; - curr[m][j]++; - } - int ans = curr[startRow + 1][startColumn + 1]; - for (int d = 1; d < maxMove; d++) { - curr.swap(last); - for (int i = 1; i <= m; i++) - for (int j = 1; j <= n; j++) - curr[i][j] = (((long)last[i - 1][j] + last[i + 1][j] + - last[i][j - 1] + last[i][j + 1]) % - 1000000007L); - ans = (ans + curr[startRow + 1][startColumn + 1]) % 1000000007L; - } - return ans; - } -}; - -int main() { - Solution obj; - cout << obj.findPaths(2, 2, 2, 0, 0); -} |