为了纪念我写错了多年的km,我决定保留下来。。
int find (int x)
{
int y, t;
for (y = 1, chkx[x] = tms; y <= n; ++y)
if (chky[y] != tms)
if ((t = lx[x] - map[x][y] + ly[y]) == 0)
{
chky[y] = tms;
if (!link[y] || find (link[y]))
return link[y] = x, 1;
}
else if (t < slack[y])
slack[y] = t;
return 0;
}