首页 > 其他 > 详细

[HNOI2006]超级英雄Hero

时间:2014-06-08 21:34:59      阅读:511      评论:0      收藏:0      [点我收藏+]

这题一看就应该知道是二分图匹配……

我记得有个类似的题有一个并查集的解法,但是我找不到了……

bubuko.com,布布扣
 1 var i,n,m:longint;
 2     p:array[0..1500] of longint;
 3     v:array[0..1500] of boolean;
 4     a:array[0..1500,1..2] of longint;
 5 function find(x:longint):boolean;
 6  var i,y:longint;
 7  begin
 8  for i:=1 to 2 do
 9   begin
10   y:=a[x,i];
11   if v[y] then continue;
12   v[y]:=true;
13   if (p[y]=0) or (find(p[y])) then
14    begin
15    p[y]:=x;
16    exit(true);
17    end;
18   end;
19  exit(false);
20  end;
21 procedure main;
22  begin
23  readln(n,m);
24  for i:=1 to m do begin readln(a[i,1],a[i,2]);inc(a[i,1]);inc(a[i,2]);end;
25  for i:=1 to m do
26   begin
27   fillchar(v,sizeof(v),false);
28   if not(find(i)) then begin writeln(i-1);halt;end;
29   end;
30  writeln(m);
31  end;
32 begin
33  main;
34 end.        
View Code

 

[HNOI2006]超级英雄Hero,布布扣,bubuko.com

[HNOI2006]超级英雄Hero

原文:http://www.cnblogs.com/zyfzyf/p/3775723.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!