Dynamic Programming Grid Problem