- Vijos
- 2009-07-07 18:39:59 @
P1022 和 P1023 有什么不同吗?
var n,i,j,x,y,z,k:longint;
mp:array[1..200,1..200] of boolean;
ok:array[1..200] of boolean;
procedure dfs(i:longint);
var j:longint;
begin
ok[i]:=false;
for j:= 1 to n do
if ok[j] and mp then dfs(j);
end;
begin
readln(n);
fillchar(mp,sizeof(mp),false);
for i:= 1 to n do
begin
read(j);
mp:=true;
while j 0 do
begin
mp:=true;
read(j);
end;
end;
for i:= 1 to 2 do
for x:= 1 to n do
for y:= 1 to n do
for z:= 1 to n do
if ( mp[x,z] and mp[z,y] ) then mp[x,y]:=true;
k:=0;
fillchar(ok,sizeof(ok),true);
for x:= 1 to n do
if ok[x] then
begin
dfs(x);
inc(k);
end;
writeln(k);
end.
4 条评论
-
guojh LV 9 @ 2009-07-07 18:39:59
原理简述
p1022是无向图,p1023是有向图。
无向图和有向图,在这里,其实没多大区别,
当然可以用一个程序过。 -
2009-07-07 10:03:02@
似乎是的...
很久之前就是这样了。。。没改。。。
-
2009-07-06 21:14:31@
兄弟……你们俩落伍了……这是题目上去时就知道的问题了……
-
2009-07-06 21:06:35@
wa!!!!
是真的,一个程序过两题。兄弟们快来测呀!!!!!!!!!!!!!!!!!WSWSWSWSWSWSWSWSWSWS
- 1