Для решения задачи нужно понять, как была увеличена длина строки на 8 байт. Поскольку каждый символ в кодировке Unicode занимает 16 бит, это соответствует 2 байтам. Следовательно, увеличение размера на 8 байт означает, что в строке было добавлено 4 символа.
В тексте Вовы содержатся следующие фамилии ученых, каждую из которых можно проверить на количество символов:
- Ом (2 символа)
- Бор (3 символа)
- Кюри (4 символа)
- Попов (5 символов)
- Джоуль (6 символов)
- Рентген (7 символов)
- Курчатов (9 символов)
- Резерфорд (10 символов)
Рассмотрим возможность повторения фамилий с добавлением запятой и пробела. При повторении строки «Ф» у нас получится:
- 2 символа: «Ом, Ом» (5 символов)
- 3 символа: «Бор, Бор» (6 символов)
- 4 символа: «Кюри, Кюри» (8 символов)
- 5 символов: «Попов, Попов» (9 символов)
- 6 символов: «Джоуль, Джоуль» (11 символов)
- 7 символов: «Рентген, Рентген» (12 символов)
- 9 символов: «Курчатов, Курчатов» (14 символов)
- 10 символов: «Резерфорд, Резерфорд» (16 символов)
Теперь мы ищем фамилию, при повторении которой добавляются ровно 4 символа (т.е. так, чтобы было +4 символа от фамилии + запятая и пробел = 6 символов).
Рассмотрев все возможные варианты, нам нужно найти, при котором добавление 4 символов из одного слова, также добавляя запятую и пробел, увеличивает длину на 8 байт.
Этим подходит только фамилия «Кюри», которая состоит из 4 символов. Добавляя запятую и пробел, мы получаем: «Кюри, Кюри», которая занимает 4 (Кюри) + 2 (", ") + 4 (Кюри) = 10 символов. Получается +8 байт.
Таким образом, слово, использованное дважды, это «Кюри».