Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Uses crt;
- type
- masType = array[1..15,1..15] of integer;
- masT = array[1..1000] of boolean;
- var
- i,j,n, x, cnt,start,finish:integer;
- visited:masT;
- a:masType=
- (
- (0,1,0,1,1,0,0,0,0,0,0,0,0,0,0),
- (0,0,1,1,0,0,0,0,0,0,0,0,0,0,0),
- (0,0,0,0,0,0,1,0,1,0,0,0,0,0,0),
- (0,0,1,0,0,1,1,0,0,0,0,0,0,0,0),
- (0,0,0,1,0,0,0,1,0,0,0,0,0,0,0),
- (0,0,0,0,0,0,1,1,0,0,0,0,0,0,0),
- (0,0,0,0,0,0,0,1,1,1,1,0,0,0,0),
- (0,0,0,0,0,0,0,0,0,0,1,0,0,0,0),
- (0,0,0,0,0,0,0,0,0,1,0,1,0,1,0),
- (0,0,0,0,0,0,0,0,0,0,1,0,0,1,0),
- (0,0,0,0,0,0,0,0,0,0,0,0,0,1,0),
- (0,0,0,0,0,0,0,0,0,0,0,0,1,0,1),
- (0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
- (0,0,0,0,0,0,0,0,0,0,0,1,1,0,0),
- (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));
- procedure dfs(var a:masType; var visited: masT; n, s, f: integer; var cnt: integer);
- var i: integer;
- begin
- if s = f then
- begin
- Inc(cnt);
- exit;
- end;
- for i := 1 to n do
- begin
- if (a[s, i]=1) and not visited[i] then
- begin
- dfs(a, visited, n, i, f, cnt);
- end;
- end;
- visited[s] := false;
- end;
- begin
- writeln('Матрица смежности:');
- n:=15;
- for i:=1 to n do
- begin
- for j:=1 to n do write(a[i,j]:2);
- writeln;
- end;
- cnt := 0;
- start := 1;
- finish := 15;
- dfs(a, visited, n, start, finish, cnt);
- writeln('Путей из точки ',start,' в ',finish,' = ',cnt);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement