Torniquet Sabadell


Enviar solució

Punts: 4 (parcial)
Temps Límit: 1.0s
Límit de memòria: 64M

Autor/a:
tipus del problema
Algorítmia, Arrays/Llistes
Categoria
Codejam
Llenguatges permesos
Bash, C#, C++, Haskell, Java, Kotlin, PHP, Python

aireacondicionat

A l’institut ja no solament es vol saber qui arriba tard o no, sinó que a més, es vol controlar al personal quan entra i surt. Per fer-ho, s’instal·larà un torniquet pel qual cada alumne passarà una targeta amb el seu codi. El torniquet enregistrarà els accessos i vigilarà que no se’n faci un us incorrecte, això és, no es pot entrar dues vegades consecutives sense haver sortit abans, o generar una sortida sense haver entrat prèviament. Un alumne pot entrar i sortir les vegades que vulgui, però sempre caldrà una seqüència lògica de moviments, això es: Entra, Surt, Entra, Surt, etc ...

Entrada

La primera línia indicarà el número de casos de prova a gestionar. Per cada cas de prova:

  • La primera línia tindrà dos nombres, \(N\) amb el nombre de línies del cas i \(K\) que indicarà el número d’alumnes a considerar, que serà un enter positiu entre 1 i 200
  • La resta de \(N\) línies seran de l’estil
    • E XXX (l’alumne de codi XXX entra a l’institut)
    • S XXX (l’alumne de codi XXX surt de l’institut)

Sortida

La sortida per cada cas de prova pot ser diferent:

  • Si tots els moviments del cas de prova són correctes, indicarà el número d’alumnes que hi ha dins l’institut (que han entrat però no sortit encara) i el missatge Correcte
  • Si hi ha moviments incorrectes, escriurà, en una única línia:
    • número d’ordre de la primera línia incorrecta detectada a la seqüència
    • motiu de l’error, que pot ser SortidaSenseEntrada o EntradaDuplicada

Exemple d'Entrada

4
5 5
E 1
E 2
E 3
E 4
E 5
4 5
E 1
E 1
E 2
S 2
6 5
E 1
S 1
E 2
S 3
S 2
E 1
0 5

Exemple de Sortida

5 Correcte
2 EntradaDuplicada
4 SortidaSenseEntrada
0 Correcte

Comentaris

En aquests moments no hi ha comentaris.