Чтобы решить задачу, давайте разберемся с исходным предложением и размером кодирования.
Исходный текст: «Вол, овца, индюк, собака, альпака, черепаха - домашние животные».
В этом предложении мы насчитаем количество символов и запятых, а затем узнаем, какое слово, вычеркнув его, уменьшит размер текста на 14 байт, учитывая, что каждый символ в кодировке Unicode занимает 2 байта.
Посчитаем количество символов в исходном предложении:
- Слов «Вол», «овца», «индюк», «собака», «альпака», «черепаха» и лишние запятые.
- Общее количество символов (включая пробелы и запятые) в оригинальной строке: 77 символов.
- Размер в байтах = 77 символов × 2 байта = 154 байта.
Теперь, если вычеркнуть одно слово и его запятые, нужно, чтобы размер нового предложения уменьшился на 14 байт, т.е. до 140 байтов.
- Это значит, что новое предложение должно содержать 70 символов (так как 70 символов × 2 байта = 140 байт).
Нам нужно проверить, какое слово по длине плюс соответствующая запятая или пробел могли бы составить именно 14 байт:
- Если вычеркнуть 1 слово, мы также удаляем запятую, если она шла после этого слова, или пробел перед следующим словом.
- Это значит, что мы должны учитывать длину слова и дополнительные символы (запятая и пробел), чтобы общая длина соответствовала требуемому уменьшению.
Теперь расположим каждое слово с пробелами и запятыми и посчитаем:
- «Вол, » — 4 символа
- «овца, » — 6 символов
- «индюк, » — 7 символов
- «собака, » — 8 символов
- «альпака, » — 8 символов
- «черепаха, » — 9 символов
- «домашние животные» — 20 символов
Убирая следующее:
- Удалив «индюк, », мы получаем 7 символов, общее уменьшение = 7 (слово) + 1 (запятая) + 1 (пробел) = 9 символов, что составляет 18 байт.
- Убирая «собака, », убираем 8 символов + 1 (запятая) + 1 (пробел) = 10 символов, что 20 байт.
- Убирая «альпака, », убираем 8 символов + 1 (запятая) + 1 (пробел) = 10 символов, что 20 байт.
- Убирая «черепаха, », убираем 9 символов + 1 (запятая) + 1 (пробел) = 11 символов, что 22 байт.
- Убирая «овца, » - 6 символов + 1 (запятая) + 1 (пробел) = 8 символов, что 16 байт.
- Убирая «Вол, ” - 4 символа + 1 (запятая) + 1 (пробел) = 6 символов, что 12 байт.
Проверяя все слова, у нас наименьшее значение получилось с «овца» с 8 байт. То есть, пропуская «овца», размер уменьшается на 16 байт.
Таким образом, вычеркнутое название животного - «овца».
