POJ 2239 二分图最大匹配模版

来源:互联网 发布:java行业薪资 编辑:程序博客网 时间:2024/05/22 18:59

基本算是裸的二分图匹配。

#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;int n;bool G[350][85];bool vis[85];int link[85];bool find(int u){    for(int i=1;i<=84;i++)    {        if(!vis[i]&&G[u][i])        {            vis[i]=true;            if(link[i]==-1||find(link[i]))            {                link[i]=u;                return true;            }        }    }    return false;}int slove(){    int ans=0;    memset(link,-1,sizeof(link));    for(int i=1;i<=n;i++)    {        memset(vis,0,sizeof(vis));        if(find(i)) ans++;    }    return ans;}int main(){    while(~scanf("%d",&n))    {        memset(G,0,sizeof(G));        int t,u,v;        for(int i=1;i<=n;i++)        {            scanf("%d",&t);            for(int j=1;j<=t;j++)            {                scanf("%d%d",&u,&v);                G[i][12*(u-1)+v]=1;            }        }        printf("%d\n",slove());    }    return 0;}


0 0