Теснота по Хэммингу (НТО 23/24 :: ТБС)
Легенда
Подзадача 1 (7 баллов).
Алиса всегда мечтала жить в «умном» доме, чтобы всё было как в любимой научной фантастике — чай сам заваривается «умным» чайником к завтраку, когда слышит сигнал настолько же «умного» будильника, вечером после учёбы «умное» кресло делает специальный массаж для укрепления осанки, а во время поездки на финал олимпиады даже не нужно переживать за цветы: спасибо «умной» системе полива! С каждой стипендии Алиса откладывала деньги для покупки или конструирования устройств для интернета вещей, и наконец у неё собралась целая коллекция различных устройств для системы «умного» дома. В доме есть главный контроллер, управляющий всеми устройствами, обмениваясь с ними данными по беспроводному каналу. Для определения того, с каким устройством он «общается», у устройств есть идентификаторы — двоичные последовательности.
К сожалению, воздух в доме не такой «умный», как устройства, поэтому при отправке данных возникают помехи, и в идентификаторе иногда может исказиться один бит. В связи с этим идентификаторы устроены так, что даже с одиночной ошибкой контроллер может определить, кому принадлежит идентификатор.
Помогите Алисе написать программу для контроллера, которая бы определила, какой идентификатор будет выдан новому устройству. Вам дан набор двоичных последовательностей (идентификаторов устройств), в ответе должна получится последовательность, которая дополнит набор, сохраняя условие помехоустойчивости. Гарантируется, что такая последовательность существует.
Формат входных данных: произвольное число (до 160) строк, в каждой из которых приводится последовательность нулей и единиц. Все последовательности одинаковой длины.
Формат выходных данных: последовательность нулей и единиц той же длины, что и на входе.
Time Limit: 3 секунды
Memory Limit: 256 MB
Подзадача 2 (8 баллов)Теперь помогите Алисе написать программу для контроллера, которая бы определила, есть ли в наборе некорректный идентификатор. Вам дан набор используемых в доме двоичных последовательностей, среди них один ошибочный. Пришлите его в ответ.
Формат входных данных: произвольное число (до 160) строк, в каждой из которых приводится последовательность нулей и единиц. Все последовательности одинаковой длины.
Формат выходных данных: последовательность нулей и единиц той же длины, что и на входе.
Time Limit: 3 секунды
Memory Limit: 256 MB
Для решения каждой подзадачи у вас есть 20 попыток.