J. Код Хэмминга: исправление
1000 мс · 256 МБ · всё или ничего
Дано кодовое слово Хэмминга, в котором мог быть испорчен не более чем один бит. Найдите позицию ошибки и восстановите данные.
Формат ввода
В первой строке () — длина кодового слова. Во второй — само слово из символов 0 и 1.
Гарантируется, что слово получено кодированием из предыдущей задачи, после чего не более одного бита могло измениться.
Формат вывода
В первой строке выведите позицию испорченного бита (нумерация с единицы) или 0, если ошибки нет.
Во второй строке выведите восстановленные данные — биты с непроверочных позиций. Если данных нет, выведите пустую строку.
Примеры
ввод
1 0
вывод
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.