费钰森 2012-12-26 02:10:00
点我顶贴
收藏
删除
var i,j,n,m,p:longint;
mi,mj:array[1..6000]of longint;
father:array[1..6000]of longint;
pi,pj:array[1..6000]of longint;
function findf(x:longint):longint;
begin
if (father[x]=0)then exit(x);
father[x]:=findf(father[x]);
exit(father[x]);
end;
procedure combine(x, y :longint);
var fx, fy :longint;
begin
fx := findF(x);
fy := findF(y);
if (fx = fy) then exit;
father[fy] := fx;
end;
procedure main;
begin
readln(n,m,p);
for i:=1 to m do
begin
readln(mi[i],mj[i]);
combine(mi[i],mj[i]);
end;
for i:=1 to p do
begin
readln(pi[i],pj[i]);
if findf(pi[i])=findf(pj[i]) then writeln('Yes') else
writeln('No');
end;
end;
begin
main;
end.