Easy solve.........🔥🔥🔥🔥
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity: 100%\u2705\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity: 100%\u2705\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```c []\nconst int move[3][2] = {{-1,1}, {0,1}, {1,1}};\n\nvoid dfs(int** grid, const int m, const int n, int x, int y, int cnt, int* ret) {\n    for (int i = 0; i < 3; ++i) {\n        int nx = x + move[i][0], ny = y + move[i][1];\n        \n        if (nx < 0 || nx == m || ny == n)\n            continue;\n        \n        if (grid[x][y] < grid[nx][ny]) {\n            dfs(grid, m, n, nx, ny, cnt + 1, ret);\n            grid[nx][ny] = 0;\n        }\n    }\n    \n    *ret = *ret < cnt ? cnt : *ret;\n}\n\nint maxMoves(int** grid, int gridSize, int* gridColSize) {\n    int ret = 0;\n        \n    for (int i = 0; i < gridSize; ++i) {\n        dfs(grid, gridSize, *gridColSize, i, 0, 0, &ret);\n    }\n        \n    return ret;\n}\n```
['Array', 'Dynamic Programming', 'C', 'Matrix']