Skip to content

Tiempos e inputs de ejemplo L1a #66

Closed
@pcseisdedos

Description

@pcseisdedos

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

  • Correctitud: Todas las ejecuciones deben ser correctas para obtener este puntaje, en caso contrario, se obtienen 0 puntos.
  • Tiempo: El promedio del tiempo de solución de todas las soluciones debe ser menor o igual a 1 segundo (solo si todas fueron correctas) y el tiempo de cada solución debe ser menor a 2 segundos, en caso contrario, se obtienen 0 puntos.

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

  • Correctitud: Todas las ejecuciones deben ser correctas para obtener este puntaje, en caso contrario, se obtienen 0 puntos.
  • Tiempo: El promedio del tiempo de solución de todas las soluciones debe ser menor o igual a 1 segundo (solo si todas fueron correctas) y el tiempo de cada solución debe ser menor a 2 segundos, en caso contrario, se obtienen 0 puntos.

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

  • Correctitud: Todas las ejecuciones deben ser correctas para obtener este puntaje, en caso contrario, se obtienen 0 puntos.
  • Tiempo: El promedio del tiempo de solución de todas las soluciones debe ser menor o igual a 1 segundo (solo si todas fueron correctas) y el tiempo de cada solución debe ser menor a 2 segundos, en caso contrario, se obtienen 0 puntos.

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
deadlines50  # en promedio

Tiempo máximo de la pauta: 0.1 s

Mediano

len(evaluaciones) = 10_000
deadlines250  # en promedio

Tiempo máximo de la pauta: 0.2 s

Grande

len(evaluaciones) = 10_000
deadlines750  # 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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions