Download problemas 2013

Document related concepts

Lex (informática) wikipedia, lookup

MapReduce wikipedia, lookup

Problema de transporte wikipedia, lookup

Printf wikipedia, lookup

Programación estructurada de Jackson wikipedia, lookup

Transcript
Concurso de Programación
Problema A: Los número de Kaprekar
Archivo de entrada: Kap.in
Archivo de salida: Kap.out
Programa fuente: kap.java
Un número de Kaprekar es aquel en que los dígitos de su cuadrado pueden ser separados
en dos números que sumados dan el número original.
Por ejemplo, el número 703 es un número de Kaprekar, dado que 7032 es 494209 que puede
descomponerse en 494 y 209 cuya suma da, de nuevo, 703.
Otro ejemplo en el caso del número 2728 tenemos que 2728 2 = 7441984 que es número de
Kaprekar porque 744 + 1984 = 2728.
Se permite que el primero de los valores de la descomposición sea 0 pero el segundo no.
Por ejemplo el número 1002 es 10000, que podría descomponerse en 100 y 00 cuya suma es
100 que no es un número de Kaprekar.
Entrada
El archivo de entrada contendrá en cada renglón un número, el final del archivo estará
marcado con un 0.
Salida
El archivo de salida debe contener la palabra SI o NO para cada número de la lista.
Ejemplo de entrada
703
2728
125
0
Ejemplo de salida
SI
SI
NO
Concurso de Programación
Problema B: Nueve recuadros
Archivo de entrada: nueve.in
Archivo de salida: nueve.out
Programa fuente: nueve.java
Un problema clásico de programación o lógica es el llamado “Cuadro Mágico” el cual consiste en llenar una
matriz 3X3 con los números del 1 al 9, en donde lo que se busca en que todas las líneas (horizontales,
verticales y diagonales) sumen 15, una variante de éste problema lo llamamos “9 recuadros”, cada recuadro
ésta formado por una región cuadriculada de 2X2. Cada cuadricula puede contener 0 o hasta 4 puntos, en la fig
1 se muestran algunos ejemplos de posibles cuadriculas de 2X2.
Figura 1 Ejemplos de cuadriculas de 2X2
Si unimos 3 cuadriculas por renglón en 3 renglones se crea una matriz de 6x6 (figura 2), al igual que el cuadro
mágico se busca una característica particular y ésta es qué en cada una de sus columnas, renglones y
diagonales principales contengan sólo tres puntos, como se puede observar en la fig. 2.
Figura 2. Matriz solución con su matriz equivalente en números enteros.
Entrada
El archivo de entrada contendrá en el primer renglón un numero n (0<n<5), tal que representa el número de
casos a resolver, seguido de n líneas, cada una con 9 valores separados por comas, cada número representa
una cuadricula de 2X2 (ver figura 2).
Salida
El archivo de salida deberá imprimir un listado de n mensajes, con las palabras CORRECTA o INCORRECTA,
según sea cada caso, es decir, si la secuencia de números cumple la restricción de 3 puntos en cada línea
(horizontal, vertical o diagonal de la matriz de 6X6).
Ejemplo de entrada
2
8,3,13,3,12,10,13,9,1
11,10,4,3,5,12,4,9,11
Ejemplo de salida
CORRECTA
INCORRECTA
Concurso de Programación
Problema C: El Sistema de Numeración Griego
Archivo de entrada: griego.in
Archivo de salida: griego.out
Programa fuente: griego.java
El primer sistema de numeración griego se desarrolló hacia el año 600 A.C. Era un sistema
de base decimal que usaba los símbolos que se muestran en la figura 1 para representar
esas cantidades. Se utilizaban tantas de ellas como fuera necesario según el principio de las
numeraciones aditivas.
Figura 1. Sistema numérico griego.
Para representar la unidad y los números hasta el 4 se usaban trazos verticales. Para el 5,
10 y 100 las letras correspondientes a la inicial de la palabra cinco (pente), diez (deka) y mil
(khiloi). Por este motivo se llama a este sistema acrofónico.
Los símbolos de 50, 500 y 5000 se obtienen añadiendo el signo de 10, 100 y 1000 al de 5,
usando un principio multiplicativo.
Haga un programa que permita convertir números decimales enteros menores a 50,001 a su
equivalente en sistema griego, obteniendo como salida la menor cantidad de caracteres para
representar la solución, utilice sólo los símbolos que se muestran en la figura 2 para el
proceso de conversión. En caso de que el número no sea posible convertirlo a este sistema
el programa mostrará la siguiente salida: “ERROR”.
Figura 2. Tabla de equivalencia de símbolos.
Entrada
El archivo de entrada contendrá en el primer renglón un número n, tal que n indica los n
casos a resolver, a continuación se presenta un listado de n renglones en los que se indicará
el número que se desea convertir,
Salida
El archivo de salida debe contener un listado de n reglones, cada uno de los renglones con la
conversión correspondiente o bien la palabra ERROR.
Ejemplo de entrada
3
25
3737
0
Ejemplo de salida
DDP
XXXFHHDDDPII
ERROR
Concurso de Programación
Problema D: Abecegrama
Archivo de entrada: abc.in
Archivo de salida: abc.out
Programa fuente: abc.java
Un abecegrama es una frase cuyas palabras están ordenadas alfabéticamente, donde cada palabra
comienza por una letra distinta y además se utilizan todas las letras del alfabeto. Por ejemplo, la frase
siguiente es un ejemplo de abecegrama:
Al bachillerato científico deseaban entrar, fueron grandes hipérbolas invadiéndoles junto kilométricos
logaritmos, mejor no ñoñear, observar, preparaos, que resolviéndolos será todo utilidad. Volvieron
Walter, Xavi y Zaragoza.
Realice un programa que identifique si cada frase contenida en un archivo de texto es o no un
abecegrama.
Entrada
El archivo de entrada contendrá en el primer renglón un número n, tal que n indica los n casos a
evaluar. No habrá líneas vacías y cada frase queda delimitada por el carácter *. Las frases pueden
contener los siguientes signos de puntuación: punto (.), coma(,), punto y coma (;), signos de
interrogación (¿?) y signos de admiración (¡!).
Salida
El archivo de salida debe contener n líneas, las cuales indicarán con las palabras SI o NO si la frase
evaluada es o no un abecegrama.
Ejemplo de entrada
4
Al bachillerato científico deseaban entrar, fueron
grandes hipérbolas invadiéndoles junto kilométricos
logaritmos, mejor no ñoñear, observar, preparaos, que
resolviéndolos será todo utilidad. Volvieron Walter, Xavi
y Zaragoza.*
Ayer, bajo caudalosos chubascos, divisé flacos gorriones
hambrientos intentando jamar kéfir. La lluvia manaba.
Negros ñúes oscurísimos parecía que ronroneaban
satisfechos, trotaban unidos vocalizando "wuau",
xenófobos y zalameros*
Hola mundo*
Antonio Becerra Cabrera, de España, fue gritando hacia
Italia, jugando kilométricamente largos meses no ñoñeando
o payaseando, quien robó silenciosamente tiempo, usando
violentamente whisky, xilófono y zanganeando.*
Ejemplo de
salida
SI
NO
NO
SI
Concurso de Programación
Problema E: Draw Dominó
Archivo de entrada: domino.in
Archivo de salida: domino.out
Programa fuente: domino.java
El dominó es un juego de control y conteo, considerando que solo se tienen 7 números y
cada número puede estar 7 veces, por ejemplo el número cero se encuentra en la ficha
llamada “blanca” [0,0][0,1][0,2][0,3][0,4][0,5][0,6], por otro lado existen diferentes modalidades
de juegos de domino, uno llamado DRAW consiste en que en tu turno coloques de forma
continua todas tus fichas (si se puede, si no solo las que tienen continuidad). Por ejemplo si
nos tocan las fichas [1,5][2,2][0,2][5,3][2,3][1,4] [4,4] una forma de hacer tu jugada seria:
[0,2] [2,2] [2,3] [3,5] [5,1] [1,4] [4,4].
Entrada
Un número n que indica cuantos casos a resolver, seguido de n (0<n<4) líneas con 14
números que representan en pares los números de las 7 fichas.
Salida
Por cada caso mostrar la primer secuencia con la mayor cantidad de fichas que se puede
formar, la secuencia comienza con el número de mayor valor, observe el ejemplo de salida.
Ejemplo de entrada
3
1 5 2 2 0 2 5 3 2 3 1 4 4 4
0 2 2 2 2 3 3 5 6 4 4 4 1 5
4 5, 2 5, 5 5, 5 3, 1 1, 1 4,
2 3
Ejemplo de salida
4 4 4 1 1 5 5 3 3 2 2 2 2 0
1 5 5 3 3 2 2 2 2 0
5 5 5 3 3 2 2 5 5 4 4 1 1 1
Concurso de Programación
Problema F: Las parcelas
Archivo de entrada: parcelas.in
Archivo de salida: parcelas.out
Programa fuente: parcelas.java
Una parcela es una porción de tierra destinada al cultivo, la cual puede tener cualquier forma
geométrica, sin embargo, las parcelas que tienen la forma de cuadrado o rectángulo son candidatas
para instalar un sistema de riego PVC, debido a que dicha forma geométrica permite la optimización
de los materiales requeridos para dicha instalación.
La empresa “Riego agrícolas del bajío” necesita saber que parcelas son candidatas para la
instalación de un sistema de riego, y para ello cuenta con la siguiente información: cuatro puntos
continuos en el sentido de las manecillas del reloj en el primer cuadrante de un plano cartesiano el
cual describe una figura geométrica.
Entrada
Un archivo en el que el primer renglón contiene un número n, el cual indica el número de
figuras geométricas a leer, a partir del segundo renglón los n conjuntos de 4 pares ordenados
que determinan los lugares geométricos que limitan la parcela.
Salida
Imprimir n renglones en el que cada renglón indica si la i-ésima parcela es viable o No para la
instalación de un sistema de Riego.
Ejemplo de entrada
3
44411114
10 0 5 5 10 10 15 5
16 8 16 12 18 11 18 8
Ejemplo de salida
S
S
N