В кодировке Unicode каждый символ кодируется 16 битами. Ученик напечатал текст в этой кодировке (лишних пробелов в нём нет):
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Реми, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок».
Далее ученик удалил из списка имя героя одного мультфильма, а также запятую и пробел рядом с ним.
Размер исправленного предложения стал на 28 байт меньше исходного.
Напишите в ответе удалённое имя героя мультфильма.
Рассмотрим задачу пошагово.
1. **Исходный текст**:
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Реми, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок»
2. **Размер исходного текста**
Длина текста в байтах:
- Каждый символ — 16 бит = 2 байта
- В исходном списке:
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Реми, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок»
Подсчитаем количество символов:
- Текст до «:» (подсчета не нужно, потому что оно тоже в строке)
- Вот весь список героев (без учёта запятых и пробелов, так как они тоже символы):
Общий текст:
«Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Реми, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок»
Подсчитаем количество символов (включая запятые и пробелы):
- Перед «:»: 25 символов (включая пробели и двоеточие. Давайте посчитаем точно)
Строка: «Мои любимые герои мультфильмов: »
- Символы: «М»(1), «о»(2), «и»(3), « »(4), «л»(5), «ю»(6), «б»(7), «и»(8), «м»(9), «ы»(10), «е»(11), « »(12), «г»(13), «е»(14), «р»(15), «о»(16), «и»(17), « »(18), «м»(19), «у»(20), «л»(21), «ь»(22), «ф»(23), «и»(24), «л»(25), «м»(26), «о»(27), «в»(28), «:»(29)), потом добавим пропущенное пробел после двоеточия.
Но по формулировке: пробелов в списке нет — «после двоеточия» сразу идёт список. Но в условии указано, что лишних пробелов в нём нет, значит, один пробел после двоеточия присутствует.
Итак, длина до списка — 30 символов (с учётом двоеточия и пробела).
3. **Длина исходного текста**.
Общий текст:
【Весь список героев + двоеточие + пробел】
Длина: 数 заранее определения невозможно, однако, поскольку каждый символ — 2 байта, скажем, что общее число символов * 2 байта — итоговая дли.
Обозначим:
Общая дли: **S символов**, где каждый символ — 2 байта.
4. **Удаление героя** и связанного с ним запятой и пробела.
После удаления одних символов (имени мультгероя), размер исправленной строки уменьшится на 28 байт.
Так как каждое имя героев — это последовательность символов:
Длина имени героя (в символах): **L** символов.
Так как каждый символ = 2 байта, то:
Размер удалённого фрагмента: **2 × L** байтов.
Также при удалении имён удаляется запятая и пробел, и они — по 1 символу (запятая) и 1 пробел — всего 2 символа = 4 байта (по 2 байта каждый).
Общая потеря в байтах — 28.
То есть:
«Удаляемое имя + запятая + пробел» = 28 байт
Разделим:
- Имя героя: L символов → 2L байт
- Запятая: 1 символ → 2 байта
- Пробел: 1 символ → 2 байта
Итого: 2L + 2 + 2 = 28, значит:
2L + 4 = 28
2L = 24
L = 12
Итак, длина имени героя — 12 символов.
5. **Найти удалённое имя героя.**
Посчитаем все имена и найдём, какое из них состоит из 12 символов.
Имена героев:
- «Шрек» (4 символа)
- «Пумба» (5 символов)
- «Маугли» (6 символов)
- «Реми» (4 символа)
- «Пиноккио» (8 символов)
- «Винни-Пух» (9 символов)
- «Белоснежка» (10 символов)
- «Малефисента» (11 символов)
- «Человек-паук» (11 символов, если учитывать тире)
- «Конёк-Горбунок» (13 символов)
Обратите внимание:
- «Человек-паук»: символы «Ч», «е», «л», «о», «в», «е», «к», «-», «П», «а», «у», «к» — 12 символов, включая тире (подробнее, в названии «Человек-паук» — 11 или 12 символов).
Подсчитаем точно:
«Ч»(1), «е»(2), «л»(3), «о»(4), «в»(5), «е»(6), «к»(7), «-»(8), «П»(9), «а»(10), «у»(11), «к»(12) — итого 12 символов.
- «Конёк-Горбунок»: посчитаем:
«К»(1), «о»(2), «н»(3), «ё»(4), «к»(5), «-»(6), «Г»(7), «о»(8), «р»(9), «б»(10), «у»(11), «н»(12), «к»(13)
Итого — 13 символов.
Таким образом, именем, длина которого равна 12 символам, является:
- «Человек-паук» (12 символов).
Это подходит. Также «Малефисента» и «Человек-паук» оба по 12 и 11 символов.
Проверка:
- «Малефисента»: 11 символов
(«М»; «а»; «л»; «е»; «ф»; «и»; «с»; «е»; «н»; «т»; «а») — 11.
- «Человек-паук» — 12 символов.
Правильное имя:
**«Человек-паук»**
6. **Ответ**:
Удалённое имя героя — **«Человек-паук»**.