Предположим, что первый свидетель соврал, что автобус - первый, и сказал правду, что маршрутка - вторая. Тогда для третьего свидетеля - утверждение про автобус - ложь (так как вторым выехала маршрутка), значит третьим выехал легковой автомобиль. Тогда оба утверждения второго свидетеля являются ложью (у него легковой автомобиль - четвёртый на перекрестке, грузовик - второй, в у нас получилось легковой автомобиль - третий, в маршрутка - вторая). Получили противоречие. Значит, первый свидетель сказал правду, что автобус первый и соврал про маршрутку. Тогда из утверждений третьего свидетеля следует, что легковой автомобиль - третий. Из второго свидетеля следует, что грузовик - второй. Тогда маршрутке остаётся четвёртое место. ответ: АГЛМ
Procedure swap(var a, b: real); var t: real; begin t := a; a := b; b := t; end;
var a, b, c: real; begin readln(a, b, c); if (a > b) then swap(a, b); if (b > c) then swap(b, c); if (a > b) then swap(a, b); writeln(a, ' ', b, ' ', c); end.
Без процедур:
var a, b, c, t: integer; begin readln(a, b, c); if (a > b) then begin t := a; a := b; b := t; end; if (b > c) then begin t := b; b := c; c := t; end; if (a > b) then begin t := a; a := b; b := t; end; writeln(a, ' ', b, ' ', c); end.
Тогда для третьего свидетеля - утверждение про автобус - ложь (так как вторым выехала маршрутка), значит третьим выехал легковой автомобиль.
Тогда оба утверждения второго свидетеля являются ложью (у него легковой автомобиль - четвёртый на перекрестке, грузовик - второй, в у нас получилось легковой автомобиль - третий, в маршрутка - вторая).
Получили противоречие. Значит, первый свидетель сказал правду, что автобус первый и соврал про маршрутку.
Тогда из утверждений третьего свидетеля следует, что легковой автомобиль - третий.
Из второго свидетеля следует, что грузовик - второй.
Тогда маршрутке остаётся четвёртое место.
ответ: АГЛМ
var t: real;
begin
t := a;
a := b;
b := t;
end;
var a, b, c: real;
begin
readln(a, b, c);
if (a > b) then swap(a, b);
if (b > c) then swap(b, c);
if (a > b) then swap(a, b);
writeln(a, ' ', b, ' ', c);
end.
Без процедур:
var a, b, c, t: integer;
begin
readln(a, b, c);
if (a > b) then
begin
t := a;
a := b;
b := t;
end;
if (b > c) then
begin
t := b;
b := c;
c := t;
end;
if (a > b) then
begin
t := a;
a := b;
b := t;
end;
writeln(a, ' ', b, ' ', c);
end.