int d=inf;
for(int i=1;i<=m;i++)
{
if(!visity[i])
{
d = min(d,slack[i]);
}
}
for(int i=1;i<=n;i++)
{
if(visitx[i])
{
lx[i] -=d;
}
}
for(int i=1;i<=m;i++)
{
if(visity[i])
{
ly[i] +=d;
}else
{
slack[i] -=d;
}
}
}
}
int s=0;
for(int i=1;i<=m;i++)
{
if(linky[i])
{
int j=linky[i];
s+=w[j][i];
}
}
return -s;
}
/***************************************************************
> File Name: POJ3686.cpp
> Author: SDUT_GYX
> Mail: 2272902662@qq.com
> Created Time: 2013/6/4 0:16:38
**************************************************************/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include