ALGORITHM RobotCoinCollection(C[1..n, 1..m]) :
//Applies dynamic programming to compute the largest number of coins a robot can collect on an n × m board by starting at (1, 1)
and moving right and down from upper left to down right corner
//Input: Matrix C[1..n, 1..m] whose elements are equal to 1 and 0 for cells with and without a coin, respectively
//Output: Largest number of coins the robot can bring to cell (n, m)
F[1, 1]← C[1, 1]; for j ← 2 to m do F[1, j ]← F[1, j − 1] + C[1, j ] for i ← 2 to n do
F[i, 1]← F[i − 1, 1] + C[i, 1]
for j ← 2 to m do
F[i, j ]← max(F[i − 1, j ], F[i, j − 1]) + C[i, j ]
return F[n, m]