Los Bancos, siempre intentando incrementar sus beneficios, piden a los expertos programadores por un sistema que pueda leer cheques de banco; esto haría el procesado de cheques mucho más barato. Uno de sus ideas era usar reconocimiento óptico de caracteres (OCR) para reconocer cuentas de bancos impresos usando segmentos de 7 líneas.
Una vez que el cheque ha sido escaneado, otro software de procesado de imagen convertirá las barras verticales y horizontales a barras '|' y guiones bajos '_' ASCII.
Las versiones de 7 segmentos ASCII de los diez dígitos son así:
Using text Syntax Highlighting
_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Una cuenta del banco tiene un número de 9 dígitos con una suma de control. Para un número de cuenta válido, se tiene la siguiente ecuación: (d1 + 2 x d2 + 3 x d3 + ... + 9 x d9) mod 11 = 0. Los dígitos están numerados de derecha a izquierda, así: d9d8d7d6d5d4d3d2d1.
Desafortunadamente, el escáner, algunas veces, comete errores: algunos segmentos pueden faltar.
Tu tarea es escribir un programa que deduzca el número original, asumiendo que:
- cuando la entrada representa un número de cuenta válido, es el número original
- al menos un dígito está mal
- la imagen escaneada no contiene segmentos extra.
Por ejemplo, la siguiente entrada
Using text Syntax Highlighting
_ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_|
| _ _| | _| |_| | |_| _|
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
será considerada como "123456789".
Especificación de la entradaEl fichero de entrada comienza con una línea con un entero que especifica el número de números de cuenta que hay que procesar. Cada número de cuenta ocupa 3 líneas de 27 caracteres.
Especificación de la salidaPor cada test, la salida contiene una línea con 9 dígitos si puede ser determinado el número de cuenta correcto; la cadena "
failure" si no se encontraron soluciones y "
ambiguous" si se encontró más de una solución.
Ejemplo de la entrada
Using text Syntax Highlighting
4
_ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_|
| _ _| | _| |_| | |_| _|
_ _ _ _ _ _ _
|_| |_| | | | | |_ | | | |_
| _| |_| |_| |_| | | | _|
_ _ _ _ _ _ _ _ _
|_| |_| |_| |_| |_| |_| |_| |_| |_|
|_| |_| |_| |_| |_| |_| |_| |_| |_|
_ _ _ _ _ _ _ _
|_| | |_| |_| |_| |_| |_| |_| |_|
|_| | |_| |_| |_| |_| |_| |_| |_|
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Ejemplo de la salidaUsing text Syntax Highlighting
123456789
ambiguous
failure
878888888
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
(Problema 433 de la ACM Contest Problems Archive)