Claro, não há células adjacentes acima das células na primeira linha, e não há células adjacentes à esquerda do células na primeira coluna. Para essas células, assumimos que F (i - 1, j) e F (i, j - 1) são iguais a 0 para seus vizinhos inexistentes. Portanto, o maior número de moedas que o robô pode trazer para a célula (i, j) é o máximo desses dois números mais uma possível moeda na própria célula (i, j). Em outras palavras, temos a seguinte fórmula para F (i, j):
F (i, j ) = max{F (i − 1, j ), F (i, j − 1)} + cij para 1 ≤ i ≤ n, 1 ≤ j ≤ m
F (0, j) = 0 for 1 ≤ j ≤ m w F (i, 0) = 0 para 1 ≤ i ≤ n,
Onde cij = 1 se houver uma moeda na célula (i, j) e cij = 0 caso contrário. Usando essas fórmulas, podemos preencher a tabela n×m de valores F(i,j) em qualquer linha por linha ou coluna por coluna, como é típico para algoritmos de programação dinâmica envolvendo tabelas bidimensionais.