Состоит из пикселей.Чем больше размер изображения, тем больше пикселей, и, следовательно, больше места нужно для хранения (занимаемое место еще зависит от глубины цвета пикселей).Хорошо подходят для реалистичных изображений, например, фотографий.При масштабировании появляется зернистость, при редактировании теряется качество.Возможна. Имеется много специальных устройств для ввода: фото- и видеокамеры, сканеры.
Векторное изображение:
Описывается в виде математических формул.Имеют меньший размер, т.к. не хранят информацию о каждом пикселе, как в случае с растровой, а всякий раз отрисовывается по формулам.Не подходит для получения фотореалистичных изображений. Подходит для иллюстраций, логотипов и иконок.Масштабируются и редактируются без потери качества.Невозможна, т.к. векторные изображения описывается более сложным чем растровые.
PascalABC.NET 3.5.1
program D_contest;
type
TStat = record
nick: string;
wins, battles: integer;
proc: real;
end;
var
N, i, num: integer;
str: array of string;
stat: array of TStat;
nick: string;
function found(ni_ck: string): integer;
begin
found := -1;
for var e := 0 to Length(stat) - 1 do
begin
if stat[e].nick = ni_ck then
begin
found := e;
break;
end;
end;
end;
var
v_pts, e_pts, l_e: integer;
F: textfile;
k: real;
s: string;
begin
Assign(F, 'input.txt');
Reset(F);
readln(F, n);
SetLength(str, n);
SetLength(stat, 1);
for i := 0 to n - 1 do
begin
readln(F, str[i]);
//get enemy_nick
nick := Copy(str[i], 1, Pos(' ', str[i]) - 1);
Delete(str[i], 1, Pos(' ', str[i]));
if (stat[0].nick <> '') then
begin
num := found(nick);
if (num = -1) then //not found
begin
l_e := Length(stat);
SetLength(stat, l_e + 1);
num := l_e;
stat[num].nick := nick;
end;
end
else
begin
stat[0].nick := nick;
end;
stat[num].battles += 1;
//get Vania_points
v_pts := StrToInt(Copy(str[i], 1, Pos(' ', str[i])));
Delete(str[i], 1, Pos(' ', str[i]));
//get enemy_points
e_pts := StrToInt(str[i]);
if v_pts > e_pts Then
stat[num].wins += 1;
end;
Close(F);
//вычисляю процент побед
for i := 0 to Length(stat) - 1 do
begin
stat[i].proc := stat[i].wins / stat[i].battles;
end;
//сортировка по процентам
for i := 0 to Length(stat) - 2 do
begin
for var j := 0 to Length(stat) - i - 2 do
begin
if stat[j].proc > stat[j + 1].proc then
begin
k := stat[j].proc;
stat[j].proc := stat[j + 1].proc;
stat[j + 1].proc := k;
s := stat[j].nick;
stat[j].nick := stat[j + 1].nick;
stat[j + 1].nick := s;
end;
end;
end;
//сортировка по алфавиту
for i := 0 to Length(stat) - 2 do
begin
for var j := 0 to Length(stat) - i - 2 do
begin
if (stat[j].proc = stat[j + 1].proc) and (stat[j].nick > stat[j + 1].nick) then
begin
k := stat[j].proc;
stat[j].proc := stat[j + 1].proc;
stat[j + 1].proc := k;
s := stat[j].nick;
stat[j].nick := stat[j + 1].nick;
stat[j + 1].nick := s;
end;
end;
end;
writeln(Length(stat));
for i := 0 to Length(stat) - 1 do
begin
write(stat[i].nick, ' ');
writeln(stat[i].proc * 100:0:6);
end;
end.
Объяснение:
Смотри код
Критерии:
представленияЗанимаемый объем памятиОбластьРастровое изображение:
Состоит из пикселей.Чем больше размер изображения, тем больше пикселей, и, следовательно, больше места нужно для хранения (занимаемое место еще зависит от глубины цвета пикселей).Хорошо подходят для реалистичных изображений, например, фотографий.При масштабировании появляется зернистость, при редактировании теряется качество.Возможна. Имеется много специальных устройств для ввода: фото- и видеокамеры, сканеры.Векторное изображение:
Описывается в виде математических формул.Имеют меньший размер, т.к. не хранят информацию о каждом пикселе, как в случае с растровой, а всякий раз отрисовывается по формулам.Не подходит для получения фотореалистичных изображений. Подходит для иллюстраций, логотипов и иконок.Масштабируются и редактируются без потери качества.Невозможна, т.к. векторные изображения описывается более сложным чем растровые.