Думаем и обсуждаем 1. 2. Почему для выхода из лабиринта применяют датчик? Почему может быть один или несколько выходов из лабиринта? ответить на вопросы
Var arnx,armx,arny,army,delMmax:array[1..1000] of real; N,M,res,i,j:integer; min:real; begin min:=maxreal; {не уверен существует ли эта константа в fpc, если что, она равна максимальному значению типа real} readln(N); for i:=1 to N do readln(arnx[i],arny[i]); readln(M); for i:=1 to M do begin readln(armx[i],army[i]); delMmax[i]:=-1; for j:=1 to N do if delMmax[i]<sqrt(sqr(armx[i]-arnx[j])+sqr(army[i]-arny[j])) then delMmax[i]:=sqrt(sqr(armx[i]-arnx[j])+sqr(army[i]-arny[j])); if delMmax[i]<min then begin min:=delMmax[i]; res:=i; end; end; writeln(res); end.
Пример ввода: 3 2 1 1 2 1 1 3 1 5 3 3 4 2 Пример вывода: 2
var
n, Num, i, j, t: integer;
Count: array[1..12] of integer;
Names: array[1..12] of integer;
begin
for i := 1 to 12 do
begin
Count[i] := 0;
Names[i] := i;
end;
ReadLn(N); { Считываем количество запросов}
for i := 1 to N do
begin
ReadLn(t); {считали очередной запрос}
Count[t] := Count[t] + 1;
end;
{Сортируем массивы Names и Count в порядке убывания значений массива Count}
for i := 12 downto 2 do
for j := 2 to i do
if Count[j - 1] < Count[j] then
begin
t := Count[j];
Count[j] := Count[j - 1];
Count[j - 1] := t;
t := Names[j];
Names[j] := Names[j - 1];
Names[j - 1] := t;
end;
for i := 12 downto 1 do
if Count[i] > 0 then
WriteLn(Names[i], ' ', Count[i]);
end.
Объяснение: