ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1792. Код Хэмминга

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Рассмотрим четыре круга, пересекающиеся так, как показано на рисунке. Назовём лепестком каждую из трёх фигур, образованных пересечением трёх кругов.
Запишем в каждом из кругов ноль или единицу. После этого в каждом лепестке запишем остаток при делении на два суммы чисел во всех кругах, в которых содержится этот лепесток. Например, если в кругах были записаны числа 0, 1, 0, 1, то в лепестках будут записаны числа 0, 1, 0 (круги и лепестки перечислены в порядке, указанном на рисунке).
Описанная схема называется кодом Хэмминга и обладает интересным свойством. Если ваш враг в тайне от вас изменит любое из семи записанных по этой схеме чисел, вы сможете однозначно определить, какое число он изменил. Решив эту задачу, вы узнаете, как это сделать.
Problem illustration

Исходные данные

В единственной строке через пробел записаны семь чисел. Каждое из чисел равно нулю или единице. Сперва идут четыре числа, записанные в кругах в порядке, указанном на рисунке. Далее идут три числа, записанные в лепестках в порядке, указанном на рисунке.

Результат

В единственной строке выведите через пробел семь чисел, образующие код Хэмминга. Набор чисел должен отличаться от исходного не более чем в одном числе. Гарантируется, что любой набор входных данных либо сам является кодом Хэмминга, либо в нём можно изменить в точности одну цифру и получить код Хэмминга.

Примеры

исходные данныерезультат
0 1 0 1 1 0 1
0 1 0 0 1 0 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
Автор задачи: София Техажева, подготовка — Ольга Соболева
Источник задачи: Уральская региональная командная олимпиада по программированию 2010