Олимпиадная задача. Определить маршруты автобусов
Категория: Delphi/Pascal
2011-09-16 22:52:25
Расписание движения n маршрутов автобусов по m остановкам города в течении 1 часа внесено в таблицу размерностью N x M. Считаем что каждый автобус может побывать на какой либо остановке только один раз. Значение "0" в таблице обозначает, что автобус на этой остановке не останавливается. Определить, есть ли маршруты на которых не встретятся ни одна пара автобусов; автобусы каких маршрутов встретятся на одной остановке
code: #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.
Поделиться: