/ Vijos / 讨论 / 家族 /

怎么错了?!!!!!!

var
m,n,p,i,a,b,fa,fb:integer;
f:array[1..5000]of integer;

function gf(s:integer):integer;
begin
if f[s]=s then exit(s)
else f[s]:=gf(f[s]);
exit(f[s]);
end;

begin
readln(n,m,p);
for i:=1 to n do f[i]:=i;
for i:=1 to m do
begin
readln(a,b);
if gf(a)<>gf(b) then
begin
fa:=gf(a); fb:=gf(b);
if fa<>fb then f[fa]:=fb;
end;
end;
for i:=1 to p do
begin
readln(a,b);
if gf(a)=gf(b) then
writeln('YES')
else
writeln('NO');
end;
end.

3 条评论

  • 1

信息

ID
1034
难度
4
分类
数据结构 | 并查集 点击显示
标签
(无)
递交数
9368
已通过
3839
通过率
41%
被复制
15
上传者