Давайте сначала посчитаем количество символов в исходной строке:
"Рак, Весы, Орион, Дракон, Козерог, Близнецы, Андромеда, Наугольник -созвездия"
В этой строке 8 названий созвездий и 7 запятых. Если вычеркнуть одно название созвездия, мы также уберем запятую, которая стоит перед ним.
Каждое название созвездия, запятая и пробел занимают 2 байта (16 бит), а длина строки в символах уменьшится на количество символов в вычеркнутом созвездии плюс 1 символ для запятой (если оно не последнее).
Теперь определим размеры каждого из названий созвездий:
- Рак (3 символа)
- Весы (4 символа)
- Орион (5 символов)
- Дракон (6 символов)
- Козерог (7 символов)
- Близнецы (8 символов)
- Андромеда (9 символов)
- Наугольник (10 символов)
Когда мы вычеркиваем одно из названий, мы также убираем запятую перед ним. Таким образом, для каждого случая нам нужно вычесть 2 символа (длина названия созвездия + 1).
Теперь посчитаем уменьшение размера в байтах для каждого созвездия:
- Рак → 3 + 1 = 4 символа → 4 * 2 = 8 байт
- Весы → 4 + 1 = 5 символов → 5 * 2 = 10 байт
- Орион → 5 + 1 = 6 символов → 6 * 2 = 12 байт
- Дракон → 6 + 1 = 7 символов → 7 * 2 = 14 байт
- Козерог → 7 + 1 = 8 символов → 8 * 2 = 16 байт
- Близнецы → 8 + 1 = 9 символов → 9 * 2 = 18 байт
- Андромеда → 9 + 1 = 10 символов → 10 * 2 = 20 байт
- Наугольник → 10 + 1 = 11 символов → 11 * 2 = 22 байта
Так как размер нового предложения стал на 16 байт меньше, мы ищем вариант, который даст такое уменьшение.
Если мы проверим, то когда мы вычеркнем "Козерог", размер уменьшится на 16 байт.
Таким образом, вычеркнутое название созвездия: Козерог.