Jutge (1) P14343


Statement
 

pdf   zip

html

Considereu la definició

struct Enviament { string dni; string exer; int temps; string res; };

per als resultats dels enviaments fets al Jutge de P1, on dni identifica l’alumne que ha fet l’enviament (és un string de 9 dígits), exer és l’identificador de l’exercici (un string de 4 o 5 caràcters), temps és l’instant de l’enviament (en segons des de l’obertura del Jutge), i res és el resultat de l’enviament, el qual pot ser “verd”, “groc” o “vermell”.

Considereu també la definició

typedef vector<Enviament> Historia;

per guardar tots els enviaments fets al Jutge de P1. Dos enviaments no tenen mai el mateix camp |temps|.

Useu aquestes definicions en un programa que llegeixi tots els enviaments fets al Jutge, i que escrigui la informació següent:

  • L’alumne amb més enviaments verds (l’alumne amb dni més petit en cas d’empat, “-” si no hi ha cap enviament verd).
  • L’alumne amb més exercicis verds (l’alumne amb el dni més petit en cas d’empat, “-” si no hi ha cap alumne amb algun exercici verd).
  • L’alumne amb més exercicis vermells (l’alumne amb el dni més petit en cas d’empat, “-” si no hi ha cap alumne amb algun exercici vermell).
  • L’alumne que ha intentat resoldre (amb o sense èxit) més exercicis diferents (l’alumne amb el dni més petit en cas d’empat, “-” si no hi ha cap enviament).
  • L’alumne que ha fet l’últim enviament (“-” si no hi ha cap enviament).

Entrada

L’entrada consisteix en un natural n, seguit de n enviaments, cadascun en una línia, amb els camps en el mateix ordre de la definició del tipus. Suposeu que hi ha, com a molt, 20 alumnes, 50 exercicis, i 1000 enviaments.

Sortida

Cal escriure els cinc dni’s mencionats anteriorment amb els comptadors corresponents, seguint el format de l’exemple.

Observació

Aquest exercici és força llarg. Per compensar, no cal que la solució enviada sigui particularment eficient.

Public test cases
  • Input

    15
    40123456 TIPIC 1000 vermell
    40123456 TIPIC 2000 groc
    40123456 TIPIC 3000 verd
    77777777 GABY  5100 groc
    11223344 FOFO  2300 groc
    11223344 FOFO  1500 vermell
    40123456 FOFO  5000 verd
    40123456 FOFO  4000 verd
    40123456 FOFO  4400 verd
    11223344 TIPIC 9600 verd
    11223344 KITO  9000 groc
    11223344 GABY  8200 vermell
    77777777 KITO  6000 verd
    77777777 FOFO  7000 verd
    77777777 TIPIC 8000 verd
    

    Output

    alumne amb mes enviaments verds:     40123456 (4)
    alumne amb mes exercicis verds:      77777777 (3)
    alumne amb mes exercicis vermells:   11223344 (1)
    alumne amb mes exercicis intentats:  11223344 (4)
    alumne que ha fet l'ultim enviament: 11223344
    
  • Input

    1
    00110011 TIPIC 100 groc
    

    Output

    alumne amb mes enviaments verds:     -
    alumne amb mes exercicis verds:      -
    alumne amb mes exercicis vermells:   -
    alumne amb mes exercicis intentats:  00110011 (1)
    alumne que ha fet l'ultim enviament: 00110011
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++