marceloarenassaavedra / IIC2283-2-21

19 stars 2 forks source link

[Tarea 1] Pregunta 2 - Formato del input y complejidad esperada #11

Closed VicenteMerino closed 3 years ago

VicenteMerino commented 3 years ago

Un par de preguntas:

  1. Respecto al input no me queda muy claro como será al momento que lo evalúen los ayudantes? Debo leer un archivo de texto con el formato indicado o debo dar la opción de ir escribiendo los valores en la consola con el comando input() de python. Pregunto en particular por el caso de la pregunta 2, en donde hay m, n tuplas de costo y operabilidad que ingresar y hacerlo a mano para testear puede ser muy tedioso, considerando que m, n pueden llegar a valer 5*10^5

  2. La complejidad esperada es un requisito de la tarea, o solo una guía para elaborar el algoritmo. En particular, si elaboro un algoritmo que sea solo O(mlog(n)) o O(nlog(m)), en vez del maximo, estaria mejorando la eficiencia en varios casos. Es esto valido?

PabloMessina commented 3 years ago

Sobre el punto 1, en ambas preguntas (y en todas las tareas), la entrada a su programa se hará por standard input (como cuando corres un programa de python en la terminal y tipeas texto en la terminal para pasarle input). De la misma manera, la salida de tu programa debe ser por standard output (volviendo al ejemplo de la terminal, el output se iría imprimiendo en la misma terminal hacia abajo).

Sobre el tema de inputs y outputs gigantes, tú puedes tener un archivo de input (por ej. input.txt) y pasarlo por standard input a tu programa ejecutando en la terminal python miprograma.py < input.txt. Si además quieres que tu output se guarde en un archivo, puedes hacer python miprograma.py < input.txt > output.txt.

Sobre el punto 2, es la complejidad recomendada, pero no es obligatoria. Si se te ocurre algo aún más eficiente, dale nomás. Recuerda eso sí que tienes 5 segundos de ejecución como máximo, que están más o menos calibrados para la complejidad recomendada, por lo que cualquiera sea la complejidad de tu algoritmo, la recomendación es siempre asegurarte de que en el peor caso tu código no se demore más de 5 segundos.

VicenteMerino commented 3 years ago

Super! Y hay algún problema con dejar los test cases en el repositorio?

PabloMessina commented 3 years ago

A priori no veo el problema