feixiang889 2010-09-08 08:26:00
点我顶贴
收藏
删除
测试结果错误.错误结果为:348
正确结果应为:344;
测试结果错误.错误结果为:348
正确结果应为:13;
以为是自己匈牙利算法写错了,拷贝了一题解上去也是70~~~
var a:array[1..1000,1..1000] of boolean;
v:array[1..1000] of boolean;
b:array[1..1000] of longint;
n,m,x,i,j,ans:longint;
function f(p:longint):boolean;
var j:longint;
begin
for j:=1 to n do
if (not a[p,j]) and not v[j] then
begin
v[j]:=true;
if (b[j]=0) or (f(b[j])) then
begin
b[j]:=p;
exit(true);
end;
end;
exit(false);
end;
begin
readln(n);
for i:=1 to n do
begin
read(m);
for j:=1 to m do
begin
read(x);
a[i,x]:=true;
end;
readln;
end;
ans:=0;
for i:=1 to n do
begin
fillchar(v,sizeof(v),false);
if f(i) then inc(ans);
end;
writeln(ans);
end.
help~~~~