Расписание движения n маршрутов автобусов по m остановкам города в течении 1 часа внесено в таблицу размерностью N x M. Считаем что каждый автобус может побывать на какой либо остановке только один раз. Значение «0» в таблице обозначает, что автобус на этой остановке не останавливается. Определить, есть ли маршруты на которых не встретятся ни одна пара автобусов; автобусы каких маршрутов встретятся на одной остановке — Pascal(Паскаль)

program lab;

const
  n = 4;
  m = 4;

var
  a: array [1 .. n, 1 .. m] of integer;
  s, q, t, i, j: integer;

label 1;

begin
  for i := 1 to n do
  begin
    for j := 1 to m do
    begin
      write('Znachenie ', i, ' marshruta na ', j, ' ostanovke...');
      readln(a[i, j]);
    end;
  end;
  for i := 1 to m do
  begin
    t := 0;
    s := 0;
    repeat
      t := t + 1;
      if a[t, i] = 0 then
        s := s + 1;
    until t > n;
    if s = n then
      writeln('Na ', i, ' ostanovke nikto ne vstretitsya')
    else
    begin
      for j := 1 to n do
      begin
        if a[j, i] = 1 then
        begin
          for q := 1 to n do
          begin
            if (q <> j) and (a[q, i] = 1) then
              writeln('Marshruti ', q, ' i ', j, ' vstretyatsya na ', i,
                ' ostanovke');
          end;
          goto 1;
        end;
      end;
    1:
    end;
  end;

end.

Leave a Comment

8 + 2 =