Y
youngster
Есть задание написать программу на паскале, поверяющую графы на двудольность. Но вот никак не могу найти тут ошибку.
Кроме этого надо сделать визуализацию. ХЭЛП!
Кроме этого надо сделать визуализацию. ХЭЛП!
Код:
var graph:array[1..20,1..20] of integer;
c,p:array[1..20] of integer; n,i,j:integer;
function dfs(v,color: integer): boolean;
var
i: integer;
begin
if color = 1 then
c[v] := 2
else if color = 2 then
c[v] := 1;
for i := 1 to n do
if graph[v, i]=1 then
if c[i] = 0 then
begin
p[i] := v;
dfs := dfs(i, c[v]);
end
else if (p[v] <> i) and (c[i] <> color) then
begin
dfs := false;
exit;
end;
dfs := true;
end;
Begin
readln(n);
for i:=1 to n do begin
for j:=1 to n do begin read(graph[i,j]);end;readln;end;
for i:=1 to n do begin p[i]:=0;c[i]:=0;end;
if dfs(1,2) then writeln('vse ok') else writeln('vse ne ok');
end.