二分圖的最小頂點覆蓋數=最大匹配數
本題就是求最小頂點覆蓋數的。
每個任務建立一條邊。
最小點覆蓋就是求最少的點可以連接到所有的邊。本題就是最小點覆蓋=最大二分匹配數。
注意一點就是:題目說初始狀態為0,所以如果一個任務有一點為0的邊不要添加。因為不需要代價
#include#include #include #include using namespace std; const int MAXN = 110; int uN,vN; int g[MAXN][MAXN]; int linker[MAXN]; bool used[MAXN]; bool dfs(int u){ int v; for(v=0;v 0&&v>0) g[u][v]=1; } printf("%d\n",hungary()); } return 0; }