ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Задачи

Страница: 1 [Всего задач: 1]      



Задача 102953

 [Сканер ]
Тема:   [ Неопределено ]
Сложность: 3+

Банки, пытаясь увеличить свою прибыль, попросили инженеров разработать сканер, который автоматически считывает номера чеков. Известно, что любой чек имеет девятизначный номер и для каждого номера чека выполняется следующее условие: (d1 +2d2 + ... +9d9) mod 11 = 0, где di равно i-й цифре номера (цифры нумеруются справа налево: d9d8d7d6d5d4d3d2d1).

Сканер, считывая номер, преобразовывает горизонтальные и вертикальные линии в символы | (ASCII-код 124) и _ (ASCII-код 95) соответственно. В результате сканирования выдается картинка, составленная из этих символов и пробелов. Пример правильного изображения цифр после сканирования приведен в примере входного файла.

К сожалению, иногда сканер допускает ошибки, и некоторые линии могут пропадать. Вы должны написать программу, которая восстанавливает исходный номер чека, считая выполненными следующие условия: 
    если отсканированное число является корректным номером чека, то это и есть исходный номер;
    испорчено не более одной цифры;
    при сканировании не появляются дополнительные линии.

Входные данные

Входной файл содержит отсканированную картинку в виде 3 строк по 27 символов в каждой. Изображение каждой цифры занимает квадрат размером 3 × 3 символа.

Выходные данные

Запишите в выходной файл либо корректный номер чека, либо строку «failure», если номер восстановить нельзя, либо строку «ambiguous», если
существует более одного решения.

Пример входного файла

   _  _     _  _ _  _  _ 
|  _| _||_||_ |_  ||_||_| 
| |_  _|  | _||_| ||_| _| 

Пример выходного файла

123456789
Прислать комментарий     Решение

Страница: 1 [Всего задач: 1]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .