level 1
空昂_kuang
楼主
var
f:array[1..20000]of longint;
r1,r2,m,n,i,j,x,y,q:longint;
function find(x:longint):longint;
begin
if f[x]<>x then f[x]:=find(f[x]);
find:=f[x];
end;
procedure un(r1,r2:longint);
begin
f[r2]:=r1;
end;
begin
readln(n,m);
for i:=1 to n do
f[i]:=i;
for i:=1 to m do
begin
readln(x,y);
r1:=find(x);
r2:=find(y);
if r1<>r2 then un(r1,r2);
end;
readln(q);
for i:=1 to q do
begin
readln(x,y);
if find(x)=find(y) then writeln('Yes')
else writeln('No');
end;
end.
2015年12月05日 01点12分
1
f:array[1..20000]of longint;
r1,r2,m,n,i,j,x,y,q:longint;
function find(x:longint):longint;
begin
if f[x]<>x then f[x]:=find(f[x]);
find:=f[x];
end;
procedure un(r1,r2:longint);
begin
f[r2]:=r1;
end;
begin
readln(n,m);
for i:=1 to n do
f[i]:=i;
for i:=1 to m do
begin
readln(x,y);
r1:=find(x);
r2:=find(y);
if r1<>r2 then un(r1,r2);
end;
readln(q);
for i:=1 to q do
begin
readln(x,y);
if find(x)=find(y) then writeln('Yes')
else writeln('No');
end;
end.