В одной из кодировок Unicode каждый символ кодируется 2 байтами. При подготовке реферата по биологии Вова написал текст (в нём нет лишних
пробелов):
«К сложноцветным растениям (т. е. к растениям, обладающим соцветием-корзинкой)
относят латук, сафлор, артишок, одуванчик, топинамбур, подсолнечник».
Затем Вова вычеркнул из списка название одного из растений. Заодно он вычеркнул
ставшие лишними запятые и пробелы два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 192 бита
меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое
название растения.
В первую очередь, необходимо посчитать размер исходного предложения в битах. Для этого нам известно, что каждый символ кодируется 2 байтами, а каждый байт содержит 8 бит. Значит, размер исходного предложения можно посчитать, умножив количество символов в исходном предложении на 2 байта и на 8 бит:
Размер исходного предложения = количество символов * 2 байта * 8 бит.
Теперь необходимо определить, какие изменения были внесены Вовой в текст.
Первое изменение: Вова вычеркнул из списка название одного из растений. Это означает, что одно название растения было удалено из текста.
Второе изменение: Вова вычеркнул ставшие лишними запятые и пробелы. Запятые и пробелы, которые не идут после других запятых или пробелов, были удалены.
Третье изменение: Два пробела не должны идти подряд. Это означает, что Вова удалил все случаи, когда в тексте было два пробела подряд, и заменил их на одиночные пробелы.
Очевидно, что все эти изменения суммарно привели к тому, что размер нового предложения стал на 192 бита меньше, чем размер исходного предложения.
Теперь давайте решим задачу, используя эти знания.
Посчитаем размер исходного предложения. Для этого нам необходимо знать количество символов в исходном предложении.
В исходном предложении содержится следующий текст:
«К сложноцветным растениям (т. е. к растениям, обладающим соцветием-корзинкой) относят латук, сафлор, артишок, одуванчик, топинамбур, подсолнечник».
Посчитаем количество символов в данном предложении, не считая пробелы и знаки препинания:
Количество символов = 91.
Теперь рассчитаем размер исходного предложения:
Размер исходного предложения = 91 символ * 2 байта * 8 бит = 1456 бит.
Согласно условию задачи, размер нового предложения оказался на 192 бита меньше, чем размер исходного предложения:
Размер нового предложения = 1456 бит - 192 бит = 1264 бит.
Теперь восстановим новое предложение, используя информацию об удаленных элементах.
Известно, что Вова вычеркнул название одного из растений из списка. Создадим список из растений, которые присутствуют в исходном предложении:
латук, сафлор, артишок, одуванчик, топинамбур, подсолнечник.
Теперь необходимо найти отсутствующее название растения. Для этого нам нужно восстановить новое предложение и сравнить его со списком растений.
Учитывая, что два пробела не должны идти подряд, мы можем сделать следующие предположения:
1) В тексте была удалена одна запятая и один пробел.
2) Название растения, которое было вычеркнуто Вовой, должно быть разделено запятой с обоих сторон.
3) Восстановленное предложение должно содержать 6 растений, так как они все перечислены в списке.
Мы можем начать восстанавливать новое предложение, используя эти предположения:
«К сложноцветным растениям (т. е. к растениям обладающим соцветием-корзинкой) относят латук, сафлор, артишок, одуванчик, топинамбур, подсолнечник».
Для каждого растения мы будем проверять, соответствует ли оно всем предположениям.
Начнем с растения "латук". Мы можем проверить, соответствует ли это растение всем предположениям:
1) Восстановленное предложение содержит одну запятую и один пробел.
2) Название растения "латук" не разделено запятой с обоих сторон.
3) Восстановленное предложение содержит 6 растений - "сафлор", "артишок", "одуванчик", "топинамбур", "подсолнечник", "латук".
Таким образом, растение "латук" не удовлетворяет всем предположениям.
Повторим этот процесс для всех остальных растений:
1) Растение "сафлор" удовлетворяет всем предположениям, так как восстановленное предложение содержит одну запятую и один пробел, название растения "сафлор" разделено запятой с обоих сторон, и восстановленное предложение содержит 6 растений - "сафлор", "артишок", "одуванчик", "топинамбур", "подсолнечник", "сафлор".
2) Растение "артишок" также удовлетворяет всем предположениям, так как восстановленное предложение содержит одну запятую и один пробел, название растения "артишок" разделено запятой с обоих сторон, и восстановленное предложение содержит 6 растений - "сафлор", "артишок", "одуванчик", "топинамбур", "подсолнечник", "артишок".
3) Растение "одуванчик" также удовлетворяет всем предположениям, так как восстановленное предложение содержит одну запятую и один пробел, название растения "одуванчик" разделено запятой с обоих сторон, и восстановленное предложение содержит 6 растений - "сафлор", "артишок", "одуванчик", "топинамбур", "подсолнечник", "одуванчик".
4) Растение "топинамбур" также удовлетворяет всем предположениям, так как восстановленное предложение содержит одну запятую и один пробел, название растения "топинамбур" разделено запятой с обоих сторон, и восстановленное предложение содержит 6 растений - "сафлор", "артишок", "одуванчик", "топинамбур", "подсолнечник", "топинамбур".
5) Растение "подсолнечник" также удовлетворяет всем предположениям, так как восстановленное предложение содержит одну запятую и один пробел, название растения "подсолнечник" разделено запятой с обоих сторон, и восстановленное предложение содержит 6 растений - "сафлор", "артишок", "одуванчик", "топинамбур", "подсолнечник", "подсолнечник".
Таким образом, единственное растение, которое не подходит, это "сафлор", так как оно не удовлетворяет всем предположениям.
Ответ: Вова вычеркнул из списка растения "сафлор".