C. соревнование роботов
имя входного файла: стандартный ввод
имя выходного файла: стандартный вывод
ограничение по времени: 1 секунда
ограничение по памяти: 256 мегабайт
всѐ больше и больше городов россии занимается конструированием роботов. в связи с тем,
что выбрать достойного робота для полѐта в космос центру становится сложнее, теперь среди них
проводятся соревнования.
центр хочет учитывать результаты соревнований среди роботов двух лет. протокол турнира
этого года центру был представлен в виде таблицы, каждая строка которой содержит название
команды и через пробел разницу мест и текущего года данного робота.
например, если третья строка турнирной таблицы этого года содержит строку:
spb -1 и команда spb в протоколе этого года стоит под номером 3, значит, в году
команда spb занимала второе место.
центру по протоколу этого года восстановить протокол года.
формат входных данных
первая строка содержит одно целое число
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.
Объяснение: