Паросочетание максимального веса, венгерский алгоритм