Foros del Web » Programación para mayores de 30 ;) » Java »

El gato en el sombrero y el lechero ordenado

Estas en el tema de El gato en el sombrero y el lechero ordenado en el foro de Java en Foros del Web. En la uni me planteaon los siguentes retos de porgramacion, los comprato con ustedes para que entre todos aportemos ideas y los resolvamos y asi ...
  #1 (permalink)  
Antiguo 18/11/2004, 17:50
 
Fecha de Ingreso: julio-2004
Mensajes: 194
Antigüedad: 19 años, 10 meses
Puntos: 1
El gato en el sombrero y el lechero ordenado

En la uni me planteaon los siguentes retos de porgramacion, los comprato con ustedes para que entre todos aportemos ideas y los resolvamos y asi trabajemos un poco las matematicas y la logica de programacion.


Cita:
Problema 1: El gato en el sombrero
Tenemos un gato que usa un sombrero. Dentro del sombrero del gato hay un grupo de gatos (más pequeños) que también usan sombrero, y que también tienen mas gatos (más pequeños aun) con sombrero dentro del suyo. Solo los gatos más pequeños no tienen otros gatos dentro de su sombrero.

Ahora, sucede que nuestro gato camina por una habitación desarreglada que necesita limpiar. Como él no quiere hacer el trabajo, decide utilizar los gatos (más pequeños) dentro de su sombrero para que hagan el trabajo por él. Cada uno de estos gatos ayudantes tiene su propio sombrero, por lo que prefieren no trabajar, y usar los gatos (más pequeños) que tienen dentro de sus respectivos sombreros; y así sucesivamente. Eventualmente los gatos alcanzan el tamaño más pequeño. Estos gatos, los más pequeños, no tienen gatos adicionales en su sombrero, y por eso les toca hacer la limpieza.

El número de gatos dentro de cada sombrero (excepto el de los más pequeños) es una constante, N. La altura de los gatos dentro de un sombrero es 1/(N + 1) veces la altura del gato dueño del sombrero en el que ellos están.

Los más pequeños gatos tienen altura de 1, y son los que hacen todo el trabajo.

Todas las alturas son enteros positivos.

Dada la altura de nuestro gato y el número de gatos que finalmente hacen la limpieza (gatos de altura uno), realice un programa que calcule el número de gatos que no hacen nada del trabajo (gatos de altura mayor que uno) y también determine la suma de todas las alturas de los gatos (la altura que forman todos los gatos montados uno sobre otro).

DATOS DE ENTRADA: “gato.in”

La entrada consta de una secuencia de especificaciones de gato-en-el-sombrero. Cada especificación se encuentra en una línea que consta de dos enteros positivos separados por un espacio en blanco. El primer entero es la altura de nuestro gato, y el segundo entero es el número de gatos que trabajan. El archivo termina con #.

DATOS DE SALIDA: “gato.out”

Para cada línea del archivo de entrada (especificación de gato-en-el-sombrero), se deberá imprimir dos enteros positivos. El primero indicando el número de gatos que no trabajan, y el segundo determina la altura que forman todos los gatos uno sobre otro. Deberá haber una línea de salida por cada línea de entrada.

EJEMPLO:
“gato.in” “gato.out”
16 9 4 37
216 125 31 671
#


Cita:
Problema 2: El lechero ordenado
Hay una caja con la forma de una rejilla NxN. Cada cuadrícula de la rejilla debe contener una botella de leche, o ninguna. El lechero escribió los datos de las botellas en la caja, haciendo un registro por cada fila y uno por cada columna. Los registros de cada fila muestran la ubicación de las botellas de izquierda a derecha, y los de cada columna muestran la ubicación de las botellas de arriba hacia abajo.

En cada registro, “1” indica que hay una botella en la correspondiente cuadrícula y “0” que no hay. Lamentablemente el orden de esos registros se confundió y muchos de ellos están corruptos. El lechero muy angustiado solicita un programa que recupere los datos, esto es, que proporcione el arreglo original de la caja y reconstruir los valores verdaderos de la data corrupta.

DATOS DE ENTRADA: “leche.in”

Cada línea del archivo representa un registro, donde el “2” denota que el correspondiente carácter ha sido corrupto. El archivo de entrada finaliza con #.

DATOS DE SALIDA: “leche.out”

Debe generar el arreglo original de la caja y mostrar el número del registro de cada columna en el tope de la rejilla y mostrar el número del registro de la fila a la izquierda de la rejilla. Proporcione una indicación si no es posible arreglarlo con la información dada.
Esos son los retos, todos aportemos ideas para resolverlos....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:09.