#include <vector> class Robot { const int mod = 1000000007; vector<vector<int>> ways; int dfs(vector<vector<int>> map, int x, int y){ if(ways[x][y] != -1) return ways[x][y]; if(x==0 || y ==0) return 0; if(map[x-1][y-1] == 0 ) return 0; if(x==1 && y ==1) return 1; int count =(dfs(map, x-1, y) + dfs(map, x, y-1))%mod; ways[x][y] = count; return count; } public: int countWays(vector<vector<int> > map, int x, int y) { // write code here ways = vector<vector<int>>(x+1, vector<int>(y+1, -1)); return dfs(map, x, y); } };