DDAのように始点から追っていったらどう?
全体の直方体との交点のうち一方を始点に使って。

通過するセルの数は m + n + n よりも小さいし。