Enquestes UPC P26317


Statement
 

pdf   zip

La UPC necessita un programa per a processar les enquestes de satisfacció que responen els estudiants. El programa ha de llegir a l’entrada totes les enquestes de totes les assignatures i produir un llistat ordenat dels resultats per a cada assignatura.

El número nn de preguntes per a cada enquesta s’indica al principi, amb 3n203\leq n\leq 20. Cada enquesta ee té el codi de l’assignatura i les respostes a les nn preguntes de l’enquesta, que són valors numèrics eie_i, 1in1 \leq i \leq n amb 0ei50 \leq e_i \leq 5. El resultat per a cada assignatura és la llista de les mitjanes dels valors de cada pregunta de l’enquesta.

Per a calcular la mitjana de la forma més fiable estadísticament, no es tenen en compte per al càlcul l’enquesta amb pitjor resultat i l’enquesta amb millor resultat, perquè s’assumeix que ambdós extrems són enquestes amb biaix. Només es treu una enquesta de cada extrem, encara que hi hagi més d’una enquesta amb el pitjor o millor resultat. No obstant, aquesta correcció només s’aplica quan la quantitat d’enquestes per a una mateixa assignatura és major o igual a 5, per contrarestar l’escassetat de mostres.

Comparació de dues enquestes: una enquesta aa amb valors aia_i és major (millor) que una altra enquesta bb amb valors bib_i si la suma sa=iais_a = \sum_{i} a_i és major que la suma sb=ibis_b = \sum_i b_i.

Entrada

L’entrada comença amb un natural nn, el número de preguntes de cada enquesta. Després ve un natural positiu mm, que és el nombre total d’enquestes. A continuació venen les enquestes, cadascuna amb un codi d’assignatura (un natural) i els valors eie_i, 1in1 \leq i \leq n, amb 1ei51 \leq e_i \leq 5. Les enquestes tenen un ordre aleatori.

Sortida

La sortida és una llista dels resultats, ordenats per codi d’assignatura, a on cada resultat conté el codi de l’assignatura, seguit per les nn mitjanes de cada pregunta de l’enquesta. Els resultats han de tenir exactament dos decimals.

Observació

Recordeu que podeu escriure un real x amb dos decimals amb la comanda 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
    Catalan
    Other languages
    Spanish
    Official solutions
    Python
    User solutions
    Python