匈牙利算法模板

来源:互联网 发布:淘宝代理怎么申请 编辑:程序博客网 时间:2024/05/16 14:50
#include<cstdio>#include<cstring>using namespace std;const int maxn = 110;bool g[maxn][maxn];int match[maxn];bool vis[maxn];int n;bool dfs(int cur){     for(int i=1;i<=n;i++){          if(g[cur][i]==true&&!vis[i]){                vis[i]=true;                int t=match[i];                if(t==-1||dfs(t)){                   match[i]=cur;                   return true;                }          }     }     return false;}int hungary(){    int res=0;    for(int i=1;i<=n;i++)  match[i]=-1;    for(int i=1;i<=n;i++){        memset(vis,false,sizeof(vis));        if(dfs(i))  res++;    }    return res;}

原创粉丝点击