URI Online Judge | 1569

Sobe e Desce

Por Ondřej Lhoták, University of Waterloo CA Canada

Timelimit: 10

Sobe e Desce é um jogo de tabuleiro jogado em um grid de 10 por 10. As posições do grid são numerados de 1 a 100. Cada jogador possui uma peça colorida que o representa. No começo do jogo, cada jogador coloca sua peça na posíção 1 do tabuleiro. No turno de cada jogador, ele deve jogar um dado que lhe dará um número randômico entre 1 e 6. Depois de jogar o dado, o jogador deve avançar sua peça a quantidade de posições exibidas no dado. Se isso fizer com que sua peça ultrapasse a posição 100, o jogador deve deixá-la exatamente na posição 100 do tabuleiro. Depois de avançar, se a peça estiver em uma posição contendo o início de uma escada, a peça deve avançar para a posição contendo o topo da escada. Da mesma forma, se a peça estiver em uma posição contendo o topo de um escorregador, a peça deve ser movida para a posição contendo o fim do escorregador. Nenhuma posição contém mais de um final de qualquer escorregador ou escada. A posição 100 não contém o topo de um escorregador ou o início de uma escada. Um jogador vence quando sua peça alcança a posição 100. Nesse ponto, o jogo termina.

Dada uma configuração de escorregadores e escadas sobre o tabuleiro e uma sequência de jogadas do dado, você precisa determinar as posições de todas as peças no tabuleiro. A sequência de jogadas do dado não precisa ser completa, ou seja, nenhum jogador precisa sair vitorioso (chegar até a posição 100). A sequência de jogadas do dado também pode continuar após o fim do jogo; neste caso, as jogadas após o jogo terminar devem ser ignoradas.

Entrada

A primeira linha contém o número de casos de teste. O formato de cada caso de teste é o seguinte:

A primeira linha de cada caso contém três inteiros positivos: o número a de jogadores, o número b de escorregadores e escadas, e o número c de jogadas do dado. Não haverão mais do que 1000000 jogadores e não mais do que 1000000 jogadas do dado. Cada uma das b linhas seguintes contêm dois inteiros especificando um escorregador ou uma escada. O primeiro inteiro indica a posição contendo o topo de um escorregador ou o início de uma escada. O segundo inteiro indica a posição contendo o fim do escorregador ou o topo da escada. As próximas c linhas contêm cada uma um inteiro dando o número exibido em cada jogada do dado.

Saída

Para cada jogador, imprima uma linha contendo um texto na forma: Position of player N is P., onde N será substituído pelo número do jogador e P será substituído pela posição final de cada jogador.

Exemplo de Entrada Exemplo de Saída

1
3 1 3
4 20
3
4
5

Position of player 1 is 20.
Position of player 2 is 5.
Position of player 3 is 6.