title: Hungarian (Kuhn Munkres) algorithm oddity
body: <p>I've read every answer here, Wikipedia and WikiHow, the indian guy's lecture, and other sources, and I'm pretty sure I understand what they're saying and have implemented it that way. But I'm confused about a statement that all of these explanations make that is clearly false.</p>
  
  <p>They all say to cover the zeros in the matrix with a minimum number of lines, and if that is equal to N (that is, there's a zero in every row and every column), then there's a zero solution and we're done.  But then I found this:</p>
  
  <pre><code>    a  b  c  d  e
  
  A   0  7  0  0  0
  B   0  8  0  0  6 
  C   5  0  7  3  4 
  D   5  0  5  9  3 
  E   0  4  0  0  9
  </code></pre>
  
  <p>There's a zero in every row and column, and no way to cover the zeros with fewer than five lines, but there's clearly no zero solution. Row C has only the zero in column b, but that leaves no zero for row D.</p>
  
  <p>Do I misunderstand something here?  Do I need a better test for whether or not there's a zero assignment possible?  Are all these sources leaving out something essential?</p>