Ted trabalha como programador na Minecraft Inc. Seu chefe acaba de lhe dar a importante tarefa de atualizar o código dos trilhos dos carrinhos de mina até o fim de abril. No entanto, ele precisou se isolar recentemente por causa da Covid-19 e deixou o código dos trilhos NO TRABALHO. Ele tem as abreviações dos trilhos que deve verificar e sabe onde os carrinhos devem terminar, mas não tem o código propriamente dito.
Ele sabe que:
- "-->" = "Trilho de aceleração" — Se um carrinho de mina interagir com este trilho, sua velocidade aumenta em 2.67 BPS, a menos que esteja em sua velocidade máxima de 8 BPS.
- "<-->" = "Trilho energizado" — Se um carrinho de mina interagir com este trilho, sua velocidade permanece a mesma.
- "<--" = "Trilho de desaceleração" — Se um carrinho de mina interagir com este trilho, sua velocidade diminui em 2.67 BPS, a menos que sua velocidade seja igual a 0, quando ele para.
- "---" = "Trilho não energizado" — Se um carrinho de mina interagir com este trilho, sua velocidade diminui em 1 BPS, a menos que sua velocidade seja igual a 0, quando ele para.
Ajude Ted escrevendo uma classe para os trilhos que interaja com a classe Minecart fornecida, conforme mostrado acima. Depois, escreva uma função que receba uma lista das abreviações dos trilhos e:
- Se a Minecart chegar ao último trecho do trilho, retorne
True. - Caso contrário, retorne o índice do trecho do trilho onde a Minecart parar.
Exemplos
mine_run(["-->", "-->", "-->", "<--", "<--", "<--"]) ➞ True
mine_run(["-->", "<--", "-->", "-->", "<-->", "---"]) ➞ 1
Notas
N/A