hdu1150

来源:互联网 发布:中国cpu 知乎 编辑:程序博客网 时间:2024/05/30 07:13
/*
分析:
    写出来了,so~high p ~
    二分图的最小顶点覆盖数 = 二分图的最大匹配数


                                             2012-07-13
*/






#include"stdio.h"#include"string.h"struct A{int total;int mem[111];}E[111];int match[111];int visit[111];int DFS(int k){int i;for(i=0;i<E[k].total;i++){if(visit[E[k].mem[i]]) continue;visit[E[k].mem[i]]=1;if(match[E[k].mem[i]]==-1 || DFS(match[E[k].mem[i]])){match[E[k].mem[i]]=k;return 1;}}return 0;}int main(){int n,m,k;int t,a,b;int ans;int i;while(scanf("%d",&n),n){scanf("%d%d",&m,&k);memset(match,-1,sizeof(match));for(i=0;i<n;i++)E[i].total=0;while(k--){scanf("%d%d%d",&t,&a,&b);if(a==0||b==0)continue;E[a].mem[E[a].total++]=b;}ans=0;for(i=1;i<n;i++){if(E[i].total==0)continue;memset(visit,0,sizeof(visit));ans+=DFS(i);}printf("%d\n",ans);}return 0;}


原创粉丝点击