Roma_0297

Untitled

Feb 7th, 2012
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.97 KB | None | 0 0
  1. program Project2;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils;
  7. var
  8.   i, l, r, n, s, f, j, sum : integer;
  9.   arr : array[1..100,1..100]of integer;
  10.   used : array [1..100] of boolean;
  11.   q : array [1..100] of integer;
  12.   otvet : array[1..100] of integer;
  13. begin
  14.   reset(input,'bfs.in');
  15.   rewrite(output,'bfs.out');
  16.   read(n,s,f);
  17.   for i := 1 to n do
  18.     begin
  19.       for j := 1 to n do
  20.         begin
  21.           read(arr[i,j]);
  22.         end;
  23.     end;
  24.   for i:=1 to n do
  25.     begin
  26.       used[i]:=false;
  27.     end;
  28.   l:=1;
  29.   r:=1;
  30.   q[r]:=s;
  31.   sum:=1;
  32.   otvet[s] := 0;
  33.   used[s]:=true;
  34.   while l <= r do
  35.     begin
  36.       for i := 1 to n do
  37.         begin
  38.           if (arr[s,i]=1) and (not used[i]) then
  39.             begin
  40.               inc(r);
  41.               q[r] := i;
  42.               used[i] := TRUE;
  43.               otvet[i] := sum;
  44.             end;
  45.         end;
  46.       inc(l);
  47.       s := q[r];
  48.       inc(sum);
  49.     end;
  50.   write(otvet[f]);
  51.   readln;
  52.   readln;
  53. end.
Advertisement
Add Comment
Please, Sign In to add comment