Автор вопроса
Есть задание написать программу на паскале, поверяющую графы на двудольность. Но вот никак не могу найти тут ошибку.
Кроме этого надо сделать визуализацию. ХЭЛП!
Кроме этого надо сделать визуализацию. ХЭЛП!
Код:
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.