What does it mean by "You cannot update some cells first and then use their updated values to update other cells"?
When you write into a cell, no matter what value (intermidiate or final) you write, you are bascially updating this cell first. If the value you write is an intermidate value, you are basically using this updated value to update other cells.
Does it mean you can't use the board to store any intermidate value?
Consider there is another thread that constantly outputs the board onto the screen as fast as it runs. Whenever you write an intermidiate value into a cell, the change of value would immediately show up.