讨论 / pascal
费钰森 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.

查看更多回复
提交回复