Содержание ↑ В этой задаче вам нужно картинку из чёрных и белых пикселей закодировать как можно более короткой строкой по описанным ниже правилам.
Картинка представляет собой прямоугольную таблицу, каждая клеточка которой покрашена в чёрный или белый цвет. Сначала чёрные клеточки обозначаются буквой «B», белые клеточки обозначаются буквой «W». Затем буквы из таблицы записываются подряд в одну строку: сначала первая строка, затем вторая и т. д.
Например, пусть дана следующая картинка:
Обозначим клеточки буквами
Теперь запишем все буквы в одну строку: «WBBBWBBBW».
Далее эту строку можно сжать, используя следующие правила.
Если перед буквой записано число, то это означает повторение данной буквы указанное число раз. Например, вместо «BBB» можно написать «3B».
После числа можно написать не одну букву, а последовательность букв в скобках.
Например, запись «4(BW)» будет означать последовательность «BWBWBWBW».
Также внутри скобок могут быть записаны не только буквы «B» и «W», но и любые правильно закодированные последовательности, в т.ч. содержащие числа и скобки.
Приведённую выше картинку можно закодировать, например, таким
Дана следующая картинка. Закодируйте её при как можно более короткой последовательности.
ответ на эту задачу необходимо записать в виде строки, состоящей из букв «B» и «W», чисел и скобок, последовательность должна быть корректной и после распаковки должна соответствовать приведённой картинке. При сдаче задачи проверяется корректность последовательности и то, что в результате распаковки будет получена данная картинка. Если последовательность некорректна или не соответствует картинке, ваше решение получит статус «Неверный формат ответа».
Чем короче будет ваше решение, тем больше вы получите. При подсчёте длины решения учитываются все символы: буквы, цифры и скобки.
обрабатывается-ученик решает задачу
упрощается-учитель объясняет материал
создается-все тот же журналист придумывает статью
запоминается-парнеь запоминает номер телефона девушки
измеряется-программист рассчитывает сколько бит займет программа
копируется-ученик списывает у одноклассника
передается-две девушки обмениваются новостями
принимается-ученики слушают учителя на уроке
разрушается-придуманная выше указанным журналистом статья опровергается...
делится на части-человек разбирает сообщение в котором пропущены пробелы
ищется-человек ищет материал для доклада в интернете
function FS(a,b:real):=0.5*a*b;
begin
var a,b:real;
Write('Катеты первого треугольника: '); Read(a,b);
var S1:=FS(a,b);
Write('Катеты второго треугольника: '); Read(a,b);
var S2:=FS(a,b);
if S1>S2 then Writeln('Площадь первого треугольника больше')
else
if S1<S2 then Writeln('Площадь второго треугольника больше')
else Writeln('Площади треугольников равны')
end.
Тестовое решение
Катеты первого треугольника: 4.18 6
Катеты второго треугольника: 5.4 3.9
Площадь первого треугольника больше