Minimum Path Cost in a Grid LeetCode solution in C++
1class Solution {2public:3int solve(vector<vector<int>> &grid, vector<vector<int>> &moveCost, int i, int j, int n, int m) {4if (i == n - 1) {5return grid[i][j];6}7int ans = INT_MAX;8for (int k = 0; k < m; k++) {9ans = min(ans, grid[i][j] + moveCost[grid[i][j]][k] + solve(grid, moveCost, i + 1, k, n, m));10}11return ans;12}13int minPathCost(vector<vector<int>> &grid, vector<vector<int>> &moveCost) {14int ans = INT_MAX;15int n = grid.size();16int m = grid[0].size();17for (int i = 0; i < m; i++) {18ans = min(ans, solve(grid, moveCost, 0, i, n, m));19}20return ans;21}22};