模板参考kuangbin的模板
这些是我们数据结构方面
const int maxn=510;
int uN,vN;//v点,u点的最大数量
int g[maxn][maxn];//邻接矩阵
int linker[maxn];//边的关系,联系起来了即linker[v]=u;
bool used[maxn];//是否访问过
直接上代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=510;
int uN,vN;//v点,u点的最大数量
int g[maxn][maxn];//邻接矩阵
int linker[maxn];//边的关系,联系起来了即linker[v]=u;
bool used[maxn];//是否访问过
bool dfs(int u)
{
for(int v=0;v<vN;v++)
{
if(g[u][v] && !used[v])
{
used[v] = true;
if(linker[v]==-1||dfs(linker[v]))
{
linker[v]=u;
return true;
}
}
}
return false;
}
int hungary()
{
int res=0;
memset(linker,-1,sizeof(linker));
for(int u=-0;u<uN;u++)
{
memset(used,false