I'm reading the book Introduction to Operations Research by Hillier and Liebermann. In chapter 8, they present the Hungarian algorithm. One step says: you pick the smallest uncovered number c, and you decrease all the numbers in the matrix by c. Then in order to restore the matrix, you have to sum up c in the elements covered by a line.
This step is not clear to me. If I subtract c from every element, now I have xij-c, when I add c in the elements in the row and columns covered by a line, the one in the intersection becomes x_ij -c +2c = x_ij+c that is not the previous value. So, this is not restoring the old values of the covered elements.