IIC2115 / Syllabus-2021-1

Syllabus del curso IIC2115 - Programación como Herramienta para la Ingeniería 2021/I
9 stars 47 forks source link

Tiempos e inputs de ejemplo L1a #66

Closed pcseisdedos closed 3 years ago

pcseisdedos commented 3 years ago

Estimados,

Como se indica en el enunciado del L1, parte del puntaje de cada problema es por la correctitud y tiempo de ejecución. Se evaluará cada problema con 3 tamaños diferentes, y en cada tamaño se evaluará la correctitud y tiempo de ejecución como se indica a continuación:

Tamaño pequeño: Cada pregunta se ejecutará con varios inputs pequeños

Tamaño mediano: Cada pregunta se ejecutará con varios inputs medianos

Tamaño grande: Cada pregunta se ejecutará con varios inputs grandes

Problema 1

Pequeño

len(lineas) = 6
len(combinaciones) ≈ 18  # en promedio

Tiempo máximo de la pauta: 0.1 s

Mediano

len(lineas) = 10
len(combinaciones) ≈ 30  # en promedio

Tiempo máximo de la pauta: 0.2 s

Grande

len(lineas) = 20
len(combinaciones) ≈ 60  # en promedio

Tiempo máximo de la pauta: 0.3 s

Ejemplo:

# input
lineas = [[0, 1, 2], [3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16], [17, 18, 19, 20, 21, 22, 23], [24, 25, 26, 27, 28], [29, 30, 31, 32, 33, 34, 35]]
combinaciones = [(0, 14), (7, 23), (9, 32), (18, 30)]

# output
colores = [0, 0, 1, 1, 0, 2]

Problema 2

Hint: en este problema el largo de la palabra juega un rol importante en el tiempo de ejecución. Piensa para ti mismo cuál es ese rol. Repite el proceso para el número de ocurrencias de una palabra dentro de la sopa de letras.

Pequeño

len(casillas) = 120  # ancho x alto

Tiempo máximo de la pauta: 0.1 s

Mediano

len(casillas) = 12_000  # ancho x alto

Tiempo máximo de la pauta: 0.2 s

Grande

len(casillas) = 180_000  # ancho x alto

Tiempo máximo de la pauta: 0.3 s

Ejemplo:

# input
sopa = ['OGZÑK', 'MNONU', 'NPQZW', 'XONUH', 'HYKSD']
palabra = 'UNO'

# output
ocurrencias = [[(1, 4), (1, 3), (1, 2)], [(3, 3), (3, 2), (3, 1)]]

Problema 3

Pequeño

len(evaluaciones) = 10_000
deadlines ≈ 50  # en promedio

Tiempo máximo de la pauta: 0.1 s

Mediano

len(evaluaciones) = 10_000
deadlines ≈ 250  # en promedio

Tiempo máximo de la pauta: 0.2 s

Grande

len(evaluaciones) = 10_000
deadlines ≈ 750  # en promedio

Tiempo máximo de la pauta: 0.3 s

Ejemplo:

# input
evaluaciones = [('Mark White', 2, 14), ('Wayne Scott', 4, 13), ('Kyle Wright', 6, 8), ('Eloísa Acero Sobrino', 3, 7), ('Osvaldo Badoglio-Chechi', 4, 7), ('Gilberto Juliá', 6, 12), ('Dott. Daria Sagese', 1, 8), ('Sara Alvarez', 5, 8), ('Giovanni Udinesi-Scarpetta', 1, 12), ('Cleto Cantero Paredes', 4, 11)]
## uso una librería que me genera nombres de personas aleatorios. SON ÚNICOS.

# output
nota = 0.7
orden_evaluaciones = ['Giovanni Udinesi-Scarpetta', 'Mark White', 'Cleto Cantero Paredes', 'Wayne Scott', 'Kyle Wright', 'Gilberto Juliá']

Problema 4

Pequeño

len(personas) = 10
len(aristas) ≈ 20  # en promedio

Tiempo máximo de la pauta: 0.1 s

Mediano

len(personas) = 12
len(aristas) ≈ 24  # en promedio

Tiempo máximo de la pauta: 0.2 s

Grande

len(personas) = 15
len(aristas) ≈ 30  # en promedio

Tiempo máximo de la pauta: 0.3 s

Ejemplo 1:

# input
relaciones = [(0, 4), (0, 5), (1, 0), (1, 5), (2, 4), (3, 5), (4, 5)]

# output
posibles_ordenes = [[1, 0, 2, 3, 4, 5], [1, 0, 2, 4, 3, 5], [1, 0, 3, 2, 4, 5], [1, 2, 0, 3, 4, 5], [1, 2, 0, 4, 3, 5], [1, 2, 3, 0, 4, 5], [1, 3, 0, 2, 4, 5], [1, 3, 2, 0, 4, 5], [2, 1, 0, 3, 4, 5], [2, 1, 0, 4, 3, 5], [2, 1, 3, 0, 4, 5], [2, 3, 1, 0, 4, 5], [3, 1, 0, 2, 4, 5], [3, 1, 2, 0, 4, 5], [3, 2, 1, 0, 4, 5]]

Ejemplo 2:

# input
relaciones = [(0, 2), (2, 4), (2, 5), (3, 0), (3, 1), (4, 1), (4, 5), (5, 1), (5, 2)]

# output
personas_con_datos_erroneos = [2, 4, 5]