Com certeza você conhece o concurso "Quem Quer Ser Milionário?", que costumava ir para o ar todas as noites, na RTP, a seguir ao telejornal, ultimamente apresentado pelo Jorge Gabriel.
Em cada sessão do concurso, há vários concorrentes e antes de cada jogo selecciona-se, de entre eles, um para jogar. A selecção é feita por meio de uma questão preliminar, na qual o apresentador pede aos concorrentes para ordenarem quatro "coisas": o mais rápido a ordenar é quem vai jogar a seguir.
Cada uma das quatro "coisas" é representada por uma letra 'A', 'B', 'C' ou 'D', pelo que a ordenação pretendida é representada é um permutação dessas quatro letras. Os concorrentes respondem usando uma máquina especial com cinco teclas: uma para cada uma das quatro letras e uma tecla "backspace". A tecla "backspace" permite aos concorrentes anularam uma entrada errada, logo que se apercebam disso, e é usada como as teclas "backspace" nos computadores.
De cada vez que um dos concorrentes carrega numa das teclas, a máquina envia um sinal para o programa de controlo, com três elementos de informação: o número do concorrente, a indicação da tecla premida e o tempo em centésimos de segundo (isto é, o número de centésimos de segundo desde o início da cronometragem até ao momento em que a tecla foi premida).
Logo que termina o período para as respostas (normalmente apenas alguns segundos), o programa de controlo indica qual foi o concorrente seleccionado. Se houver um empate para primeiro lugar, o programa indica isso mesmo; se ninguém acertar, idem.
Escreva um programa para controlar as respostas à questão preliminar de selecção para o concurso "Quem Quer Ser Milionário?" e escolher o concorrente que vai jogar.
A primeira linha contém a resposta à questão colocada, na forma de uma cadeia de caracteres formada por uma permutação da letras 'A', 'B', 'C' e 'D'.
A segunda linha contém o número de concorrentes, N, 2 ≤ N ≤ 100.
As restantes linhas, em número indeterminado, contêm três elementos de informação, separados um espaço: o número do concorrente, M, 1 ≤ M ≤ N, a estampilha temporal na forma de um número inteiro de centésimos de segundo, representando o momento em que o concorrente carregou na tecla, e uma letra 'A', 'B', 'C', 'D' ou 'X', representando o 'X'a tecla "backspace".
As comunicações entre as máquinas dos concorrentes e o computador onde corre o programa são feitas através de uma rede sem fios, não havendo garantia de que os registos no ficheiro de dados estejam ordenados pelas estampilhas temporais. Por outro lado, o hardware garante que um dado concorrente não tecla duas vezes no mesmo centésimo de segundo, mas não impede o concorrente de chegar a formar palavras com tamanho maior que quatro, com letras repetidas.
Se um dos concorrentes responder certo mais depressa do que os outros todos, o output conterá uma linha com o número desse concorrente e o tempo que ele levou a responder, separados por um espaço.
Se houver empate para primeiro lugar, o ficheiro conterá apenas uma linha com a mensagem "EMPATE". Se todos os concorrentes errarem, o ficheiro de resultados conterá apenas uma linha com a mensagem "NULO".
BDAC 2 1 20 B 2 10 B 1 50 C 2 40 D 1 120 A 1 70 X 1 110 D 2 150 C 1 170 C 2 100 A
2 150
ABCD 2 1 20 A 1 25 B 1 187 C 2 15 C 2 59 D 2 189 B 1 78 D 2 105 A
NULO