Ministério da Educação
Brasil um país de todos
Personal tools
You are here: Home → Members → Rodrigo Soares → Laboratório de programação → Exercícios → Juvenal não quer lavar louça
Navigation
Log in


Forgot your password?
 
Document Actions

Juvenal não quer lavar louça

by Rodrigo Soares — last modified 2015-10-06 06:54

Juvenal é conhecido pelas ótimas festas que organiza em sua casa de praia em Pitangui. Elas são sempre muito badaladas. Mas ele não é bobo e sempre diz que existe uma condição. Ele aceita fornecer a casa, a comida e a piscina, contanto que algum dos convidados fique para lavar a louça.
Como  todos querem as festas mas ninguém quer ficar pra limpar a bagunça, eles sempre decidem isso em um jogo de sorte.
O jogo é assim:
Cada convidado começa com um monte de cartas na mão, e existe outro monte na mesa.
A cada rodada, uma carta do monte da mesa é descoberta e cada convidado faz o mesmo com o seu próprio monte.
Caso a carta que um convidado tire seja de mesmo numero que a carta presente na mesa, o convidado descarta ela de sua mão (ela não será mais usada!).
Caso a carta seja de numero diferente, ela volta para o final da pilha de cartas do convidado.
A carta da mesa sempre volta pro final do monte da mesa.(Podendo, inclusive, ser reutilizada!).
O convidado sortudo será o primeiro que ficar sem cartas na mão(Torça pra não ser você!).
Caso o jogo não termine em 1000 rodadas, Juvenal será o ganhador.

Formato de Entrada

A entrada inicia com um inteiro F, que indica quantas festas Juvenal realizou.
A próxima linha indica a configuração inicial do deck na mesa, na ordem em que as cartas deverão aparecer (primeira carta é a primeira que sai). As cartas tem valores entre 0 e 10^5.
As próximas linhas representam os decks de cada convidado. Cada convidado é representado por um inteiro C, começando de 1 e contando...
O fim de cada caso é representado pelo numero -1.
Restrições: 0 < F <= 10^5

Formato de Saída

Para cada caso, imprima C o número identificador da pessoa que ganhou (Juvenal tem o número 0)
Obs: caso haja empate, opte sempre pelo convidado de menor identificador
O baralho é velho, formado pela junção de vários decks incompletos. É possível encontrar cartas repetidas.
Para todos os convidados terem chance de vencer, é garantido que o deck da mesa tem qualquer carta que possa aparecer na mão de um convidado.

Exemplos

Entrada:


2
1 7 3 2 4
2 3 1
1 7 4
1 2 1 3
-1
1 2 3 4
2 1
4 3
-1

Saída:


2
0
//cursor aqui


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: