Why I get wrong answer?????????????????????????
Code: Select all
var
i, j, n,m, ii, x, tmp, y, scc, unscc : word;
c,tp : char;
graf : array [1..20000] of word;
q : word;
begin
readln(m);
for ii := 1 to m do
begin
q := 0;
scc := 0;
unscc := 0;
fillchar(graf,sizeof(graf),0);
readln(n);
while not (eoln or eof) do
begin
read(c);
readln(x,y);
if (c = 'q') then
if (graf[x] = graf[y]) and (graf[x] <> 0) then
inc(scc)
else
inc(unscc)
else if (c = 'c') then
if (graf[x] = graf[y]) and (graf[x] = 0) then
begin
inc(q);
graf[x] := q;
graf[y] := q;
end
else if (graf[x] <> graf[y]) and (graf[x] = 0) then
graf[x] := graf[y]
else if (graf[x] <> graf[y]) and (graf[y] = 0) then
graf[y] := graf[x]
else if (graf[x] <> graf[y]) then
begin
tmp := graf[y];
for i := 1 to n do
if (graf[i] = tmp) then
graf[i] := graf[x];
end;
end;
writeln(scc,',',unscc);
if (ii <> m) then writeln;
end;
end.