# LeetCode - 0063. Unique Paths II ### 題目網址:https://leetcode.com/problems/unique-paths-ii/ ###### tags: `LeetCode` `Medium` `動態規劃(Dynamic Programming)` ```cpp= /* -LeetCode format- Problem: 63. Unique Paths II Difficulty: Medium by Inversionpeter */ int ways[101][101]; static const auto Initialize = []{ ios::sync_with_stdio(false); cout.tie(nullptr); return nullptr; }(); class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int rows = obstacleGrid.size(), columns = obstacleGrid[0].size(); memset(ways, 0, sizeof(ways)); ways[0][0] = (obstacleGrid[0][0] ? 0 : 1); for (int i = 1; i < rows; ++i) ways[i][0] = (obstacleGrid[i][0] ? 0 : ways[i - 1][0]); for (int i = 1; i < columns; ++i) ways[0][i] = (obstacleGrid[0][i] ? 0 : ways[0][i - 1]); for (int i = 1; i < rows; ++i) for (int j = 1; j < columns; ++j) if (!obstacleGrid[i][j]) ways[i][j ] = ways[i][j - 1] + ways[i - 1][j]; return ways[rows - 1][columns - 1]; } }; ```