int findMinPath(vector<vector<int> > &V, int r, int c) {
int R = V.size();
int C = V[0].size();
if (r >= R || c >= C) return 100000000; // Infinity
if (r == R - 1 && c == C - 1) return 0;
return V[r][c] + min(findMinPath(V, r + 1, c), findMinPath(V, r, c + 1));
}
Mark
formerly known as M
I'm not great at this, but I'd guess
Also known as "not great"
If you'd add memoization
R * C