Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project2;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- var
- i, l, r, n, s, f, j, sum : integer;
- arr : array[1..100,1..100]of integer;
- used : array [1..100] of boolean;
- q : array [1..100] of integer;
- otvet : array[1..100] of integer;
- begin
- reset(input,'bfs.in');
- rewrite(output,'bfs.out');
- read(n,s,f);
- for i := 1 to n do
- begin
- for j := 1 to n do
- begin
- read(arr[i,j]);
- end;
- end;
- for i:=1 to n do
- begin
- used[i]:=false;
- end;
- l:=1;
- r:=1;
- q[r]:=s;
- sum:=1;
- otvet[s] := 0;
- used[s]:=true;
- while l <= r do
- begin
- for i := 1 to n do
- begin
- if (arr[s,i]=1) and (not used[i]) then
- begin
- inc(r);
- q[r] := i;
- used[i] := TRUE;
- otvet[i] := sum;
- end;
- end;
- inc(l);
- s := q[r];
- inc(sum);
- end;
- write(otvet[f]);
- readln;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment