Jutge (1)

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.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T10:09:22.089Z

© Jutge.org, 2006–2026.
https://jutge.org
