Во время проведения олимпиады каждый из участников получил собственный идентификационный номер
Во время проведения олимпиады каждый из соучастников получил собственный идентификационный номер естественное число. Нужно отсортировать список соучастников олимпиады по количеству набранных ими баллов.
Входные данные
На первой строке дано число N (1 N 1000) количество соучастников. На каждой следующей строке даны идентификационный номер и набранное число баллов подходящего соучастника. Все числа во входном файле не превышают 105.
Выходные данные
В выходной файл выведите начальный перечень в порядке убывания баллов. Если у неких участников схожие баллы, то их меж собой необходимо упорядочить в порядке возрастания идентификационного номера.
Образцы
входные данные
3
101 80
305 90
200 14
выходные данные
305 90
101 80
200 14
входные данные
3
20 80
30 90
25 90
выходные данные
25 90
30 90
20 80
type
base = record
id: integer;
ball: integer;
end;
var
t: text;
a: array of array of integer;
n: integer;
st, tmp: string;
err: integer := 1;
database: base;
begin
readln(n);
setlength(a, n);
for i: integer := low(a) to high(a) do
setlength(a[i], 2);
for i: integer := low(a) to high(a) do
begin
readln(st);
tmp := st;
delete(tmp, pos(' ', tmp, err), tmp.Length - pos(' ', tmp, err) + 1);
database.id := strtoint(tmp);
tmp := st;
delete(tmp, 1, pos(' ', tmp, err));
database.ball := strtoint(tmp);
a[i, 0] := database.id;
a[i, 1] := database.ball;
end;
var j: integer := 0;
assign(t, 'output.txt');
rewrite(t);
while (j lt;= high(a)) do
begin
if (j + 1 lt; high(a)) and (a[j, 1] = a[j + 1, 1]) then
if (a[j, 0] lt; a[j + 1, 0]) then begin
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');
end else begin
write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
end;
if (j+1=n) then
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
inc(j, 2);
end;
close(t);
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.