
Problema 101 (Estocolmo, Suecia, Julio de 1994):
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
La figura muestra un triángulo de números. Escriba un programa que calcule la máxima suma alcanzada por los números que son cruzados por una ruta que comienza en el vértice superior y termina en algún lugar de la base.
Cada escalón debe ir en forma diagonal hacia la izquierda o en forma diagonal hacia la derecha como se muestra en la figura .
El número de filas en el triángulo es mayor que 1 y menor o igual que 100.
Los números en el triángulo son todos enteros entre 0 y 99.
Archivo de Entrada
El programa debe leer los datos de entrada del archivo INPUT.TXT.
En la primera línea figura el número de filas del triángulo.
En el ejemplo dado en la figura 1 el archivo INPUT.TXT es el siguiente:
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
Archivo de Salida
El archivo de salida OUTPUT.TXT consistirá de una sola línea donde aparece el número entero calculado, o sea, la suma máxima.
Para el ejemplo dado, el archivo de salida OUTPUT.TXT sería:
30
Evaluación
Máximo tiempo de corrida: 30 segundos.
Problema 102 (Estocolmo, Suecia, Julio de 1994):
1 2 3 4 5 6 7 1 2 3 4 ®
Figura 1
La figura 1 muestra el plano de un castillo. Escriba un programa que:
1. calcule cuántos cuartos tiene el castillo
2. calcule cuál es la superficie del cuarto más grande
3. determine qué pared debe ser eliminada del castillo con el propósito de conseguir un cuarto que sea lo más grande posible.
El castillo está dividido en mxn cuadrados donde m y n son números naturales menores o iguales que 50 (m £ 50, n £ 50). Cada uno de estos cuadrados puede tener entre 0 y 4 paredes.
Archivo de Entrada
· El plano está guardado en un archivo INPUT.TXT, donde cada cuadrado está representado por un número.
· La primera línea del archivo indica el número de cuadrados en la dirección Norte-Sur. La segunda línea indica el número de cuadrados en la dirección Este-Oeste.
· En las siguientes líneas cada cuadrado es descripto por un número entre 0 y 15. Este número se obtiene sumando:
1 si existe pared Oeste (0 si no existe)
2 si existe pared Norte (0 si no existe)
4 si existe pared Este (0 si no existe)
8 si existe pared Sur (0 si no existe)
Las paredes interiores del castillo son consideraddas dos veces. Por ejemplo, en la figura, la pared del sur del cuadrado de la esquina superior izquierda (cuadrado 1 1), es también la pared norte del cuadrado que se encuentra inmediatamente abajo de él (cuadrado 2 1).
· El castillo tiene al menos dos cuartos.
El archivo INPUT.TXT para el ejemplo que muestra la figura 1 es el siguiente:
4
7
11 6 11 6 3 10 6
7 9 6 13 5 15 5
1 10 12 7 13 7 5
13 11 10 8 10 12 13
Archivo de Salida
El archivo de salida OUTPUT.TXT consta de tres líneas:
· En la primera línea, el número de cuartos.
· En la segunda línea, la superficie del cuarto más grande expresada en cuántos cuadrados tiene.
· En la tercera línea, qué pared debe ser eliminada: primero la fila, luego la columna de un cuadrado que tenga la pared a ser eliminada y por último la ubicación de esa pared en ese cuadrado (E para Este, W para Oeste, N para norte, S para Sur).
En el ejemplo de la figura, eliminar la pared "4 1 E" es una de muchas posibilidades. Usted sólo necesita indicar una de estas posibilidades. En ese caso, el archivo OUTPUT.TXT sería:
5
9
4 1 E
En la figura 1 la flecha señala la pared que debe ser eliminada de acuerdo a lo que se escribió en el archivo de salida.
Evaluación
Máximo tiempo de corrida: 30 segundos.
Problema 103 (Estocolmo, Suecia, Julio de 1994):
1 1 3 5 1 3 3 2 0 3 3 0 3 2 3 1 4 0 3 3 3 3 3 1 1
La figura muestra un cuadrado. En cada fila, en cada columna y en las dos diagonales del cuadrado se lee un número primo de cinco dígitos. Las filas y ambas diagonales deben ser leídas de izquierda a derecha, las columnas deben ser leídas de arriba hacia abajo.
Escriba un programa que construya estos cuadrados, respetando las restricciones siguientes:
· La suma de los dígitos de los primos que se leen en el cuadrado debe ser la misma (11 en el ejemplo).
· El dígito de la esquina superior izquierda del cuadrado está pre-determinado (1 en el ejemplo).
· Un número primo puede ser usado más de una vez en el cuadrado.
· Si hay varias soluciones, deben ser presentadas todas.
· Un número primo de cinco dígitos, no empieza con ceros, esto es 00003 NO es un número primo de cinco dígitos.
Archivo de Entrada
El programa debe leer los datos de entrada del archivo INPUT.TXT.
En la primera línea del archivo figurará el valor de la suma de los dígitos de los números primos que son leídos en el cuadrado.
En la segunda línea figurará el dígito que debe aparecer en la esquina superior izquierda del cuadrado.
Por lo tanto, el archivo INPUT.TXT sólo contiene dos líneas.
Para la figura, el archivo INPUT.TXT es el siguiente:
11
1
En todos los tests usados para la evaluación siempre habrá una solución para los datos dados.
Archivo de Salida
En el archivo de salida OUTPUT.TXT, se deben escribir cinco líneas para cada solución encontrada.
En cada línea aparecerá el número primo de la fila correspondiente.
El archivo de entrada dado anteriormente tiene tres soluciones, lo que significa que el archivo OUTPUT.TXT deberá contener las siguientes soluciones:
11351
14033
30323
53201
13313
11351
33203
30323
14033
33311
13313
13043
32303
50231
13331
La línea en blanco entre las diferentes soluciones es opcional.
Evaluación
Máximo tiempo de corrida: 90 segundos.
Problema 104 (Estocolmo, Suecia, Julio de 1994):
Se consideran 9 relojes ubicados en una matriz 3x3. Cada uno de ellos tiene una sola aguja cuyas posiciones posibles son sólo 4:
12 en punto
3 en punto
6 en punto
9 en punto
El objetivo es llevar las agujas de todos estos relojes a las 12 en punto.
Para ello se tienen nueve combinaciones distintas de relojes cuyas agujas se pueden mover a la vez. Cada una de estas combinaciones se llama movimiento. Cada movimiento tiene asignado un número fijo del 1 al 9. Al elegir un movimiento determinado, los relojes correspondientes girarán 90° sus agujas (en el sentido de las agujas del reloj). Cada una de estas combinaciones están representadas en la figura siguiente donde se ha sombreado los relojes que la componen.
1 2 3
4 5 6
7 8 9
Así, por ejemplo, al elegir el movimiento 4 las agujas de los tres relojes de la primera columna girarán 90° en el sentido de las agujas del reloj.
Archivo de Entrada
En el archivo de entrada, INPUT.TXT, consta de 3 líneas donde se anotaron las posiciones iniciales de las agujas de los relojes de acuerdo a lo siguiente:
0 12 en punto
1 3 en punto
2 6 en punto
3 9 en punto
Ejemplo de INPUT.TXT:
3 3 0
2 2 2
2 1 2
En este ejemplo los 9 relojes indican las siguientes horas:
9hs 9hs 12hs
6hs 6hs 6hs
6hs 3hs 6hs
Archivo de Salida
Escriba en el archivo OUTPUT.TXT una secuencia de movimientos (números) de longitud mínima, que ponga todas las agujas a las 12 en punto. En caso de que haya varias soluciones, sólamente se requiere que presente una. En nuestro ejemplo, el archivo OUTPUT.TXT podría ser:
5849
Al elegir el movimiento 5 las horas indicadas serán:
9hs 12hs 12hs
9hs 9hs 9hs
6hs 6hs 6hs
Luego, con el movimiento 8:
9hs 12hs 12hs
9hs 9hs 9hs
9hs 9hs 9hs
Al aplicar el movimiento 4:
12hs 12hs 12hs
12hs 9hs 9hs
12hs 9hs 9hs
Y, finalmente, el movimiento 9:
12hs 12hs 12hs
12hs 12hs 12hs
12hs 12hs 12hs
Evaluación
Máximo tiempo de corrida: 30 segundos.
Problema 105 (Estocolmo, Suecia, Julio de 1994):
Un hombre llega a una parada de ómnibus a las 12.00 hs y permanece allí hasta las 12.59. Durante esos minutos el hombre toma nota del tiempo de llegada de cada uno de los ómnibus que para allí.
La parada es usada por un cierto número de líneas.
Se le dan a Ud. las anotaciones hechas por este hombre.
Se cumplen las siguientes condiciones:
· Los ónmibus de la misma línea llegan a intervalos regulares desde las 12.00 hasta las 12.59 hs.
· El tiempo de llegada está dado en minutos de 0 a 59.
· Cada línea para, al menos, dos veces en esos 59 minutos.
· El número de líneas que se considerarán en los tests será menor o igual que 17.
· Varias líneas distintas pueden llegar en el mismo horario y/o pasar con la misma frecuencia. Dos o más líneas distintas deben ser siempre presentadas aunque coincidan en todos sus horarios de llegada.
Debe Ud. determinar la menor cantidad posible de líneas que deben parar en la parada de manera que se satisfagan esas anotaciones y cada cuántos minutos pasa un ómnibus de cada una de esas líneas.
Archivo de Entrada
El archivo de entrada, INPUT.TXT, contiene, en la primer línea, el número total n (n£300) de anotaciones que hizo el hombre y en la segunda línea las anotaciones mismas en orden ascendente.
Ejemplo:
17
0 3 5 13 13 15 21 26 27 29 37 39 39 45 51 52 53
Archivo de Salida
En el archivo de salida OUTPUT.TXT se deberá escribir una línea de texto por cada una de las líneas de ómnibus determinada. En cada línea del archivo deberá figurar el tiempo de llegada del primer ómnibus de la línea que se está considerando seguido de la frecuencia, en minutos, con que pasan los ómnibus de esa línea. Si existen varias soluciones, sólo es necesario escribir una de ellas.
Para el ejemplo, OUTPUT.TXT:
0 13
3 12
5 8
Evaluación
Máximo tiempo de corrida: 30 segundos.
Problema 106 (Estocolmo, Suecia, Julio de 1994):
Se consideran tres números enteros positivos: k( k £ 20), n (n £ 6) y m( m £ 20) y un círculo dividido en n sectores.
En cada uno de los sectores del círculo, debe Ud. ubicar números enteros positivos mayores o iguales que k.
Con los números elegidos se debe poder crear una sucesión continua de todos los enteros entre m y s (m ,m+1,m+2,...,s).
Para formar los números de la sucesión se puede usar el entero de un solo sector o bien sumar los enteros de dos o más sectores adyacentes para formar un nuevo número.
La tarea es elegir enteros para los sectores de modo que s , el mayor número de la sucesión, sea tan grande como sea posible.
Como ejemplo tomemos n = 5, m = 2 y k = 1. Ubiquemos los números
1 3 10 2 5
consecutivamente en los 5 sectores en el sentido de las agujas del reloj (observe que el 5 y el 1 son adyacentes en esta disposición). Podemos formar la sucesión: 2, 3, 4, 5, ..., 21 de la siguiente manera:
2 2
3 3
4 1 + 3
5 5
6 5 + 1
7 2 + 5
8 2 + 5 + 1
9 5 + 1 + 3
10 10
11 2 + 5 + 1 + 3
12 10 + 2
13 3 + 10
14 1 + 3 + 10
15 3 + 10 + 2
16 1 + 3 + 10 + 2
17 10 + 2 + 5
18 10 + 2 + 5 + 1
19 5 + 1 + 3 + 10
20 3 + 10 + 2 + 5
21 1 + 5 + 10 + 2 + 5
Archivo de entrada
El archivo de entrada INPUT.TXT contiene los enteros n, my k en líneas consecutivas
Ejemplo:
5
2
1
Archivo de salida
El archivo OUTPUT.TXT deberá contener:
· El mayor número (s) que se puede generar con la lista de números.
· Todas las disposiciones de números en un círculo que producen una sucesión de m a s (una por línea). Cada disposición es una lista de números que comienza con el número más pequeño (que no necesariamente aparece sólo una vez).
(2 10 3 1 5) no es una solución válida, ya que no comienza con el número más pequeño.
(1 3 10 2 5) y (1 5 2 10 3) deben incluirse (ambas) en la salida.
En un círculo dividido en 4 sectores, se deberían incluir (1 1 2 3), (1 3 2 1), (1 2 3 1) y (1 1 3 2) en la salida.
Ejemplo:
21
1 3 10 2 5
1 5 2 10 3
2 4 9 3 5
2 5 3 9 4
Evaluación
Máximo tiempo de corrida: 30 segundos.
Problema 107: Laberintos Maravillosos (Harding University Local Programming Contest, E.E.U.U., 1992):
Su misión, si usted decide aceptarla, será crear un programa que dibuje laberintos.
Un laberinto estará compuesto por los caracteres alfabéticos A-Z, * (el asterisco) y espacios en blanco. Su programa deberá leer la información para los laberintos en el archivo LABER.IN. Este archivo contendrá líneas de caracteres que su programa debe interpretar para dibujar un laberinto. Cada fila del laberinto será descripta por una serie de números y caracteres, donde los números antes de un carácter dan cuenta de cuántas veces debe ser repetido ese carácter. Si antes de un carácter figura un número de varios dígitos entonces el número de veces para repetir el carácter es la suma de los dígitos antes de ese carácter. La letra minúscula "b" se usará en el archivo para representar espacios en blanco en el laberinto. Las descripciones para filas diferentes en el laberinto estarán separadas por el signo de exclamación (!), o por un carácter de fin de línea. Las descripciones para laberintos diferentes estrán separadas por una línea en blanco. El archivo de entrada será terminado por un fin de archivo. No hay límite para el número de filas en un laberinto o el número de laberintos en un archivo, aunque ninguna fila contendrá más de 132 caracteres. El dibujo de cada laberinto considerado debe ser grabado en el archivo de salida LABER.OUT, dejando una línea en blanco entre laberintos diferentes. Exito en su misión!
Ejemplo:
LABER.IN:
1T1b5T!1T2b1T1b2T!1T1b1T2b2T!1T3b1T1b1T!3T3b1T!1T3b1T1b1T!5T1*1T
11X21b1X
4X1b1X
LABER.OUT:
T TTTTT
T T TT
T T TT
T T T
TTT T
T T T
TTTTT*T
XX X
XXXX X
Problema 108: Puntaje para el examen de Historia (Internet Programming Contest, Duke University, E.E.U.U., noviembre de 1991) :
Muchos problemas de Informática tratan sobre la maximización de una medida de acuerdo a ciertas restricciones.
Considere un exámen de Historia en el que se pide a los estudiantes ordenar cronológicamente distintos sucesos históricos. Los estudiantes que ordenen todos los sucesos correctamente recibirán todo el puntaje pero, cómo evaluar a los estudiantes que ubicaron incorrectamente uno o más sucesos?.
Por ejemplo, se podría usar uno de los siguientes criterios:
asignar 1 punto por cada suceso ubicado en su lugar correcto
asignar 1 punto por cada suceso en la secuencia más larga (no necesariamente consecutiva) en la cual los sucesos que la componen están correctamente ordenados uno respecto del otro
Por ejemplo, si cuatro sucesos se ordenan correctamente como 1 2 3 4 entonces ordenarlos como 1 3 2 4 recibiría el siguiente puntaje:
2 de acuerdo al primer criterio pues los sucesos 1 y 4 figuran en su lugar correcto
3 de acuerdo al segundo criterio puesto que tanto las secuencias 1 2 4 como 1 3 4 tienen los sucesos ordenados correctamente.
Ordenar esta secuencia como 4 3 2 1 obtendría los siguientes puntos:
0 de acuerdo al primer criterio pues ningún suceso figura en su lugar correcto
1 de acuerdo al segundo criterio puesto la secuencias más largas en las cuales los sucesos están ordendos correctamente son: 4 3 2 1 y a cualquiera de ellas se le asignaría 1 punto.
En este problema se le pide que escriba un programa que evalúe una prueba de Historia de este tipo de acuerdo al segundo criterio.
Dado el orden cronológico correcto de n sucesos 1, 2, ..., n como c1, c2, ... cn donde 1 < ci < n indica el lugar que ocupa el suceso i en el orden cronológico correcto y una secuencia de respuesta r1, r2, ... rn donde 1 < ri < n indica el lugar que le asigna el estudiante al suceso i, determine la longitud máxima que tiene una secuencia de sucesos (no necesariamente consecutivos) en la cual los sucesos que la componen están correctamente ordenados uno respecto del otro.
Archivo de entrada
Su programa debe leer del archivo ASCII de entrada HIST.TXT diferentes juegos de datos separados por una línea en blanco. En cada uno de ellos:
La primera línea consitirá en un entero ndonde 2 < n < 20 que indicará la cantidad de sucesos que serán considerados. La segunda línea contendrá n enteros que indicarán el orden cronológico correcto de los n sucesos. Cada una de las filas restantes contendrá n enteros y representará el orden que le asigna un estudiante a los n sucesos. Todas las líneas, salvo la primera, contendrán n enteros distintos entre 1 y n separados por uno o más espacios en blanco.
Archivo de Salida
Para cada juego de datos, su programa deberá grabar, en líneas consecutivas, en un archivo ASCII de salida PUNTAJE.TXT los puntajes obtenidos por cada uno de los estudiantes considerados. Debe haber un línea por cada estudiante evaluado. Los puntajes para los distintos juegos de datos deben estar separados por una línea en blanco.
Ejemplo:
HIST.TXT
4
4 2 3 1
1 3 2 4
3 2 1 4
2 3 4 1
10
3 1 2 4 9 5 10 6 8 7
1 2 3 4 5 6 7 8 9 10
4 7 2 3 10 6 9 1 5 8
3 1 2 4 9 5 10 6 8 7
2 10 1 3 8 4 9 5 7 6
PUNTAJE.TXT
1
2
3
6
5
10
9
Problema 109: Espejito, espejito... (Huge Programming Contest, Primavera de 1993)
Un diagrama cuadrado de celdas blancas y negras se muestra en su estado original y luego de haber sido transformado. Escriba un programa que reconozca la transformación mínima que ha sido aplicada al diagrama original para obtener el nuevo diagrama donde las transformaciones posibles son sólo las siguientes:
Rotación de 90°: El diagrama fue rotado 90° hacia la derecha.
Rotación de 180°: El diagrama fue rotado 180° hacia la derecha.
Rotación de 270°: El diagrama fue rotado 270° hacia la derecha.
Reflexión vertical: El diagrama obtenido es la reflexión a través de un espejo horizontal colocado sobre el diagrama original.
Combinación: El diagrama original fue sometido a una reflexión vertical seguida de una de las rotaciones.
Preservación: El diagrama original fue preservado (es decir, el nuevo diagrama es idéntico al original).
Impropia: El nuevo diagrama no fue obtenido aplicando ninguna de las transformaciones precedentes.
Archivo de entrada:
Su programa debe leer del archivo ASCII de entrada DIAG.TXT diferentes juegos de datos separados por una línea en blanco. En cada uno de ellos:
En la primera línea figurará un entero ndonde 1 < n < 10 que dará la dimensión del diagrama. En cada una de las n líneas siguientes aparecerán las filas correspondientes de ambos diagramas (original y transformado) separadas por un espacio en blanco. Las celdas blancas estarán representadas por un punto mientras que las celdas negras estarán representadas por una x.
Archivo de Salida:
Para cada juego de datos, su programa deberá grabar, en líneas consecutivas, en un archivo ASCII de salida TRANSF.TXT una oración que describa la relación entre el diagrama original y el transformado. Cada oración deberá comenzar con el número de orden en DIAG.TXT del juego de datos considerado y seguir con la relación que represente la mínima cantidad de trabajo necesario para transformar el diagrama original en el diagrama transformado. Para evaluar la cantidad de trabajo necesario, debe Ud. considerar que las rotaciones acarrean menos trabajo que las reflexiones y que las pequeñas rotaciones dan menos trabajo que las más grandes. Por supuesto, la "preservación" no da ningún trabajo.
Es importante notar que sólo las posibilidades dadas más arriba deben ser consideradas: no hay "rotación de 360°" (tal transformación "preservaría" el diagrama original) en este problema ni "reflexión horizontal". También tenga en cuenta que cuando una sola rotación o reflexión no es suficiente, su programa debe considerar una reflexión vertical seguida de alguna rotación . En el caso en que una transformación combinada como una transformación simple den el mismo resultado, su programa debe sólo exponer la transformación simple (considerada mínima). Your output should be a complete sentence, ending with a period.
Ejemplo:
DIAG.TXT
5
X...X ....X
.X... ...X.
...X. .X...
..X.X ..X..
....X XX..X
6
....XX X....X
...X.. X.X...
XX..X. .X..X.
..X... ...X.X
...X.. ..X...
..X..X ..X...
2
X. X.
.X .X
4
..X. ...X
XX.. ....
.... XX..
...X ..X.
5
X.... .X...
.X... ..X..
.X... ..X..
...X. ....X
....X X....
4
.X.. ..X.
.X.X X...
.... ..XX
..X. ....
2
.. XX
XX ..
TRANSF.TXT
Diagrama 1: se aplicó una rotación de 90 grados.
Diagrama 2: se aplicó una rotación de 270 grados.
..Diagrama 3: fue preservado.
Diagrama 4: se hizo una reflexión vertical.
Diagrama 5: fue impropiamente transformado.
Diagrama 6 se aplicó una reflexión vertical y luego una rotación de 270 grados.
Diagrama 7: se aplicó una rotación de 180 grados.
Problema 110: Tipos de cambio (Internet Programming Contest, Duke ACM, Octubre de 1990)
El uso de computadoras en el sistema financiero ha suscitado controversia en el caso de programas diseñados para sacar ventaja de fluctuaciones sumamente pequeñas en los tipos de cambio. La utilización de este tipo de programas ha sido prohibida en muchas firmas de Wall Street: la ética en programación es un concepto nuevo sobre el que habrá que pensar.
Se analizan las posibles operaciones de compra y venta entre monedas de distintos países con el propósito de obtener una ganancia aprovechando pequeñas diferencias entre los distintos tipos de cambio. Por ejemplo, si:
1 dólar compra 0.7 libras británicas
1 libra británica compra 9.5 francos franceses
1 franco francés compra 0.16 dólares
entonces un cambista invirtiendo 1 dólar obtendría, al finalizar las transacciones:
1 x 0.7 x 9.5 x 0.16 = 1.064 dólares
lo que representa una ganancia de 0.064 dólares o, dicho de otra forma, una ganancia del 6.4 %.
Debe Ud. escribir un programa que determine si una secuencia de tipos de cambio puede o no reportar alguna ganancia en la forma descripta.
En las secuencias consideradas se debe comenzar y terminar con la misma moneda pero se puede tomar cualquiera de ellas para iniciar la secuencia.
Archivo de entrada:
Su programa debe leer del archivo ASCII de entrada, CAMBIO.TXT , diferentes juegos de datos separados por una línea en blanco. En la primera línea de cada uno de ellos se lee el entero n (2 < n < 20) que indica la cantidad de países cuyas monedas se deben considerar. Seguirá luego una tabla de n líneas con n-1 valores cada una separados por uno o más espacios en blanco. En la primera de ellas se anotará el tipo de cambio entre la moneda del primer país y los n-1 países restantes, o sea, la cantidad de moneda del país i( 2 < i < n) que se puede comprar con 1 unidad de moneda del primer país (los elementos de la diagonal de la tabla no se anotan pero se supone que son iguales a 1).
Por lo tanto, cada juego de datos consiste de n+1 líneas: la primera contiene el entero n y las n líneas siguientes representan la tabla de conversión.
Archivo de Salida:
Para cada juego de datos, su programa deberá determinar si existe una secuencia de cambio que reporte una ganancia mayor del 1% (0.01). Si tal secuencia existe deberá grabarla en un archivo ASCII de salida SECUEN.TXT. Si existe más de una secuencia de cambios que genere una ganancia mayor del 1% sólo se deberá grabar una de longitud mínima, esto es, una de las secuencias que necesiten la menor cantidad de operaciones de cambio para obtener una ganancia mayor del 1%.
El IRS (United States Internal Revenue Service) analiza cuidadosamente las secuencias de cambio largas, por ello, todas las secuencias consideradas deben consistir de, a lo sumo, n transacciones donde n es la dimensión de la tabla de conversión dada. Por ejemplo, en la secuencia 1 2 1 se realizan 2 transaccioones.
Cuando exista una secuencia de cambio que reporte una ganancia mayor del 1%, la secuencia elegida se grabará en una línea mediante enteros positivos separados por un espacio en blanco. El entero i representará la i-ésimalínea de la tabla de conversión (el país i). El primer entero que se graba es el del país cuya moneda se utiliza para iniciar la secuencia y debe ser el mismo que figura al final de la línea.
En caso de que no exista una secuencia de cambio que reporte una ganancia mayor del 1% realizando, a lo sumo, n transacciones, se deberá grabar una línea con el mensaje:
No existe tal secuencia
Ejemplo:
CAMBIO.TXT
3
1.2 0.89
0.88 5.1
1.1 0.15
4
3.1 0.0023 0.35
0.21 0.00353 8.13
200 180.559 10.339
2.11 0.089 0.06111
2
2.0
0.45
SECUEN.TXT
1 2 1
1 4 3 1
No existe tal secuencia