do begin
New (P);
P ^. Next: = A;
A: = P;
{Загальна інформація про рейс}
ReadLn (Source, P ^. company);
ReadLn (Source, P ^. number);
ReadLn (Source, P ^. kind);
{Вартість кожного з класів}
For I: = 1 to MClass do begin Read (Source, C); P ^. Class [i]: = C = 'X' end;
ReadLn (Source, P ^. TotalStation);
New (P ^. path);
Q: = P ^. path;
{інформація про міста прямування часу шляху, стоянках}
For J: = 1 to P ^. TotalSTation do begin
K: = ((J-1) mod 4) +1;
Read (Source, Q ^. Way [K]. City, Q ^. Way [K]. Delay, Q ^. Way [K]. Reboard);
For I: = 1 to MClass do If P ^. class [I] then Read (Source, Q ^. Way [K]. cost [I])
else Q ^. Way [K]. cost [I]: = 0;
If (J mod 4) = 0 then begin
If (J <> P ^. TotalStation) then begin New (Q ^. Next); Q: = Q ^. next end
else Q ^. next: = nil;
end;
ReadLn (Source);
end;
New (P ^. Table);
G: = P ^. Table;
L: = G;
{Інформація про відправленні з початкового пункту}
While Not EOLn (Source) do begin
Read (Source, D);
G ^. Time: = (ord (D [1])-ord ('0 ') -1) * 1440 + ((ord (D [3])-ord ('0')) * 10 + ord (D [4])-ord ('0 ')) * 60
+ (Ord (D [6])-ord ('0 ')) * 10 + ord (D [7])-ord ('0');
if L ^. time> G ^. time then write ('Wrong data');
If not EOLn (Source) then begin New (G ^. Next); G: = G ^. Next end else G ^. Next: = nil;
end;
ReadLn (Source);
end;
Load: = A;
end;
const line = '----------------------------------------------- --------------------------------- ';
procedure graphout (const city: cities);
var
grDriver: Integer;
grMode: Integer;
p: citycode;
begin
grDriver: = Detect;
InitGraph (grDriver, grMode,'');
setcolor (12);
outtextxy (200,0, 'Карта транспортної схеми ');
p: = 1;
while (p '') do begin
setcolor (5);
fillellipse (4 * city [p]. x ,380-3 * city [p]. y, 2,2);
setcolor (11);
outtextxy (4 * city [p]. x +5,376-3 * city [p]. y, city [p]. name);
inc (p)
end;
end;
var List: PFLight; pattern: blank; st: string; p: answerlist;
city: cities; a: dat;
Procedure Input (var Pattern: blank; var a: dat);
var i: citycode; st: string; b: dat; w: real;
begin
with pattern do begin
GotoXY (30,1);
WriteLn ('Введення вихідних даних');
write (line);
repeat
write ('Початкове місто ...');
readln (st);
Bcity: = 1; while (BCity