Enquestes UPC P26317


Statement
 

pdf   zip

thehtml

La UPC necesita un programa para procesar las encuestas de satisfacción que responden los estudiantes. El programa debe leer a la entrada todas las encuestas de todas las asignaturas y producir un listado ordenado de los resultados para cada asignatura.

El número n de preguntas para cada encuesta se indica al principio, con 3 ≤ n ≤ 20. Cada encuesta e tiene el código de la asignatura y las respuestas a las n preguntas de la encuesta, que son valores numéricos ei, 1 ≤ in con 0 ≤ ei ≤ 5. El resultado para cada asignatura es la lista de las medias de los valores de cada pregunta de la encuesta.

Para calcular la media de forma más fiable estadísticamente, no se tienen en cuenta para el cálculo la encuesta con mejor resultado y la encuesta con peor resultado, porque se asume que ambos extremos son encuestas con sesgo. Solo se quita una sola encuesta de cada extremo, aunque haya más de una encuesta con peor o mejor resultado. No obstante, esta corrección solo se aplica cuando la cantidad de encuestas disponible para una asignatura es mayor o igual a 5, para remediar la escasez de muestras.

Comparación de dos encuestas: una encuesta a con valores ai es mayor que otra encuesta b con valores bi si la suma sa = ∑i ai es mayor que la suma sb = ∑i bi.

Entrada

La entrada empieza con un natural n, el número de preguntas de cada encuesta. Luego viene un natural positivo m, que es el número total de encuestas. A continuación vienen las encuestas, cada una con un código (un natural) y los valores ei, 1 ≤ in, con 1 ≤ ei ≤ 5. Las encuestas tienen un orden aleatorio.

Salida

La salida es una lista de los resultados, ordenados por código de asignatura, donde cada resultado contiene el código de la asignatura, seguido por las n medias de cada pregunta de la encuesta. Los resultados deben tener exactamente dos decimales.

Observación

Recordada que podeis escribir un real x con dos decimales con el comando print(f"{x:.2f}").

Public test cases
  • Input

    5
    4
    320099 1 4 3 5 5
    320002 1 1 2 1 1
    288073 4 3 4 5 4
    320099 1 3 1 5 3

    Output

    288073 4.00 3.00 4.00 5.00 4.00
    320002 1.00 1.00 2.00 1.00 1.00
    320099 1.00 3.50 2.00 5.00 4.00
    
  • Input

    6
    5
    201185 3 3 2 1 3 3
    201185 0 0 0 0 0 0
    201185 2 1 2 3 1 2
    201185 5 5 5 5 5 5
    201185 1 2 2 2 2 1

    Output

    201185 2.00 2.00 2.00 2.00 2.00 2.00
    
  • Input

    4
    3
    200101 0 0 0 0 
    200101 0 0 0 0 
    200101 1 2 3 4
    

    Output

    200101 0.33 0.67 1.00 1.33
    
  • Information
    Author
    PRO1
    Language
    Spanish
    Translator
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    Python
    User solutions
    Python