1.不带权值的
#include<bits/stdc++.h>
using namespace std;
const int maxn=??;
int line[maxn][maxn],used[maxn],vis[maxn];
bool find(int x)
{
int i,j;
for(j=1;j<=m;j++)//扫描定点
{
vis[j]=1;
if(used[j]==0||find(used[j])) /*条件:这个点未匹配或者已经匹配了
//如果递归成功,说明可以移到另一个顶点上面(因为我们这里used[i]已经使用了*/
{
used[j]=x;
return true;
}
}
return false;
}
int main()
{
for(int i=1;i<=n;i++)
{
memset(vis,0,sizeof(vis));
if(find(i)) all++;
}
}