码迷,mamicode.com
首页 > 其他好文 > 详细

bzoj 1191: [HNOI2006]超级英雄Hero

时间:2016-03-04 00:16:30      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #define M 1005
 5 using namespace std;
 6 int pi[M],n,m,a[M][2],f[M],i;
 7 bool xun(int a1)
 8 {
 9     for(int j=0;j<2;j++)
10       if(!f[a[a1][j]])
11         {
12             f[a[a1][j]]=1;
13             if(!pi[a[a1][j]]||xun(pi[a[a1][j]]))
14               {
15                 pi[a[a1][j]]=a1;
16                 return 1;
17               }
18         }
19     return 0;
20 }
21 int main()
22 {
23     scanf("%d%d",&n,&m);
24     for( i=1;i<=m;i++)
25       {
26         scanf("%d%d",&a[i][0],&a[i][1]);
27         a[i][0]++;
28         a[i][1]++;
29       }
30     for( i=1;i<=m;i++)
31       {
32         memset(f,0,sizeof(f));
33         if(!xun(i))
34           break;
35       }
36     printf("%d\n",i-1);
37 }

二分图匹配,每个题读入两个锦囊,将题到两个锦囊连边,然后顺序进行比配,直到无法匹配时退出。

bzoj 1191: [HNOI2006]超级英雄Hero

标签:

原文地址:http://www.cnblogs.com/xydddd/p/5240432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!