本文主要是介绍hdu 1054 Strategic Game,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
匈牙利算法:
#include<iostream>
using namespace std;
int n,m,p,f,sum;
int link[1600];
int vis[1600];
int map[1600][1600];
int dfs(int g)
{
for(int i=1;i<=map[g][0];i++)
{
int j=map[g][i];
if(vis[j]==0)
{
vis[j]=1;
if(link[j]==-1||dfs(link[j]))
{
link[j]=g;
link[g]=j;
return true;
}
}
}
return false;
}
void linkp()
{
for(int i=0;i<n;i++)
{
link[i]=-1;
vis[i]=0;
}
for(int i=0;i<n;i++)
{
memset(vis,0,sizeof(vis));
if(link[i]==-1)
{
if(dfs(i))
sum++;
}
}
}/*
void print()
{
for ( int i = 0; i < n; i++ )
{
for ( int j = 0 ; j < n ; j++ )
cout <&l
这篇关于hdu 1054 Strategic Game的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!