me: integer;
FindS, IncS: Boolean;
ForMet: integer;
Begin
Time: = 0;
IncS: = true;
ForMet: = InTwoForC;
FindS: = ProvCanMet;
While IncS and Not FindS and (time <= N * 2) and (ForMet = 0) do begin
Inc (time);
If Time Mod 2 = 0 then IncS: = AddIfCan (0, [1 .. m])
Else incS: = AddIfCan (0, STwo);
ForMet: = InTwoForC;
FindS: = ProvCanMet and (time mod 2 = 1);
End;
If Time> N * 2 then WriteLn ('Пункт В: Роботи не зустрінуться')
Else begin
Write ('Пункт В: Роботи зустрінуться через');
If FindS Then Write (Time/2:0:3)
Else Case ForMet of
1: write ((time +1)/2:0:3);
2: write (time/2 +1/4:0:3);
3: write (time/2:0:3, '+1 /', (time mod 2 +1) * 3);
End;
WriteLn ('Момент (а, ів) часу');
End;
End;
Procedure SolveAB;
Var time: integer;
ForB, FindS, IncS: Boolean;
Old: mas;
Begin
Old: = B;
Time: = 0;
IncS: = true; FindS: = ProvCanMet;
While IncS and Not FindS do begin
ForB: = InTwoNear;
Inc (time);
incS: = AddIfCan (1, [1 .. m]);
FindS: = ProvCanMet;
End;
If FindS Then begin
WriteLn ('Пункт А:', time, 'момент (а, ів) часу');
WriteLn ('Пункт Б:', time - Byte (ForB) * 0.5:0:1, 'момент (а, ів) часу ');
SolveC;
End
Else begin
WriteLn ('Пункт А: Роботи не зустрінуться');
writeLn ('Пункт Б: Роботи не зустрінуться');
writeLn ('Пункт В: Роботи не зустрінуться');
end;
B: = Old;
End;
Begin
Init;
SolveAB;
End.
8 Вожатий у таборі.
uses crt;
Const k = 50;
Type mas = array [1 .. k] of integer;
var col: integer;
A: mas; {масив представляє собою список віків дітей}
procedure Init (z: string); {ініціалізація даних}
var i: integer;
f: text;
begin
Assign (f, z);
Reset (f);
i: = 0;
While not EoLn (f) do
begin
Inc (i);
Read (f, A [i]);
end;
col: = i;
Close (f);
end;
procedure Print; {виведення списку на екран}
var i: integer;
begin
For i: = 1 to col do
Write (A [i], '');
end;
procedure Solve (m, t: integer);
var i, j, w, x: integer;
begin
If m> = t then exit;
i: = m; j: = t; x: = A [(m + t) div 2]; {x-бар'єрний елемент, тобто вік, щодо якого буде сортуватися список, i, j - нижній і верхній номер, розглянутої частини списку}
While i
If A [i]> x then Inc (i) else {дивим...