- Victoria的舞会2
- 2008-12-19 17:22:11 @
数据如下:
4
2 0
3 0
这个数据也就是说,1愿意与2和3交流,2愿意和3交流,又由于交流是单向的,(即2不一定愿意和1交流,3不一定愿意和2与1交流),那么对于这个数据至少要分4组,但是一个能够AC的程序,却输出2!
程序如下:(按道理讲这个程序应该无法AC,可是偏偏AC了,我很纳闷!)
program p1022;
var a:array[1..200,1..200]of integer;
i,k,j,m,n,q:integer;
v:array[1..200]of boolean;
procedure dfs(i:integer);
var j:integer;
begin
v[i]:=true;
dec(q);
for j:=1 to n do if (a=1)and(not v[j]) then dfs(j);
end;
begin
assign(input,'p1022.in');
reset(input);
readln(n);
q:=n;
fillchar(a,sizeof(a),0);
for i:=1 to n do
begin
read(j);
while j0 do
begin
a:=1;
read(j);
end;
end;
k:=0;
i:=1;
repeat
if not v[i] then
begin
dfs(i);
inc(k);
end;
inc(i);
until q=0;
writeln(k);
end.
1 条评论
-
zhangdashi LV 8 @ 2014-10-25 23:37:44
弱数据,你懂的
- 1