Armadilhas
Um jogo simples que tem divertido gerações de
crianças consiste de um tabuleiro contendo uma trilha de
quadrados e um conjunto de peças coloridas. No início do
jogo cada jogador recebe uma peça; todas as peças
são inicialmente posicionadas imediatamente antes do primeiro
quadrado da trilha.
O jogo progride em turnos. A cada turno, jogadores
jogam um par de dados, e movem suas peças para a frente. As
peças são movidas sempre para a frente, pelo
número de quadrados correspondente à soma dos pontos
obtidos nos dados. A ordem em que os jogadores jogam os dados é
sempre a mesma nos turnos (jogador A, depois jogador B, etc.).
A maioria dos quadrados da trilha no tabuleiro são
'normais', mas alguns são 'armadilhas'. Se
a peça de um jogador cai em uma armadilha ao final do movimento
de um jogador, o jogador perde a vez de jogar no próximo
turno. Ou seja, ele/ela não joga os dados e sua peça
fica um turno sem ser movimentada.
Há exatamente três armadilhas na trilha do
tabuleiro.
O vencedor do jogo é o jogador cuja peça alcance o
final da trilha primeiro. O final da trilha é após o
último quadrado da trilha. Considere, por exemplo, o tabuleiro
da figura acima, cujos quadrados são numerados de 1 a 48. No
início do jogo, as peças estão posicionadas no
local marcado 'Início' na fugura, ou seja, antes do
quadrado número 1. Portanto, se um jogador obtém um
resultado 7 nos dados (dados marcando 2 e 5, por exemplo), sua
peça é posicionada no quadrado número 7 ao final
do primeiro turno do jogo. Além do mais, se a peça de um
jogador está posicionada no quadrado 41, o jogador necessita de
um resultado pelo menos igual a 8 nos dados para alcançar o
final da trilha e vencer o jogo. Note ainda que não há
empates no jogo.
Tarefa
São fornecidos o número de
jogadores, o número de quadrados na trilha, a
posição das armadilhas e uma lista de resultados de
dados. Você deve escrever um programa que determine o vencedor
do jogo.
Entrada
Seu programa deve processar vários conjuntos de teste. A
primeira linha de um conjunto de teste contém dois inteiros J e
Q representando respectivamente o número de jogadores e o
número de quadrados na trilha (1 ≤ J ≤ 10 e 3
≤ Q ≤ 10000). A segunda linha de um conjunto de teste
descreve as armadilhas, representadas por três inteiros
distintos T1, T2 e T3, denotando as suas posições na
trilha (1 ≤ T1, T2, T3 ≤ Q). A seguir é fornecido
o conjunto de resultados dos dados. Cada resultado é descrito
em uma linha separada, cada linha contendo
inteiros D1 e D2 (1 ≤ D1, D2 ≤ 6), que representam os
resultados dos dados. O número de resultados dos dados em um conjunto de teste
será sempre o número exato necessário para que um
jogador vença o jogo. O final da entrada é indicado por
J = Q = 0.
Um jogador é identificado por um
número de 1 a J. Jogadores jogam em ordem sequencial, de 1 a
J.
A entrada deve ser lida da entrada padrão.
Exemplo de Entrada
2 10
2 4 8
1 1
3 4
1 2
6 5
3 7
4 5 7
1 2
2 2
2 1
1 1
1 2
1 1
1 1
0 0
Saída
Para cada conjunto de teste da entrada seu programa deve produzir
três linhas. A primeira linha identifica o conjunto de teste, no
formato "Teste n", onde n é numerado a partir de 1.
A segunda linha deve conter um único inteiro,
identificando o vencedor. A terceira linha
deve ser deixada em branco. A grafia mostrada no Exemplo de
Saída, abaixo, deve ser seguida rigorosamente.
Exemplo de Saída
Teste 1
1
Teste 2
3
(esta saída corresponde ao exemplo de entrada acima)
Restrições
1 ≤ J ≤ 10 (J = 0 apenas para indicar o fim da entrada)
0 ≤ Q ≤ 10000 (Q = 0 apenas para indicar o fim da entrada)
|