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).
L’entrada consisteix en un natural , seguit de 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.
Cal escriure els cinc dni’s mencionats anteriorment amb els comptadors corresponents, seguint el format de l’exemple.
Aquest exercici és força llarg. Per compensar, no cal que la solució enviada sigui particularment eficient.
Autoria: Salvador Roura
Generació: 2026-01-25T10:09:22.089Z
© Jutge.org, 2006–2026.
https://jutge.org