Todos os desafios
Fácil 0 resolvidos 0% de aceitação

Pedágios de veículos

Cobre pedágios para motos, carros e caminhões, onde caminhões estendem a regra básica de veículos com eixos.

O que você vai aprender

  • Reaproveitar a regra da classe pai em uma subclasse
  • Somar um adicional a uma tarifa base
  • Escolher a classe certa a partir de uma descrição

Problema

Ver original (inglês)

Com inheritance, uma subclasse reutiliza o comportamento da classe pai e adiciona o seu próprio. Todo veículo paga pedágio; um caminhão é um veículo que paga extra pelos seus eixos.

Cada veículo é um dos seguintes:

  • motorbike: paga 2.
  • car: paga 5.
  • truck <axles>: paga a tarifa de carro 5, mais 3 por cada eixo além dos dois primeiros.

Implemente vehicle_tolls(vehicles).

Entrada

vehicles: Os veículos passando pela praça de pedágio.

Saída

Retorne o total de pedágio arrecadado.

Restrições

0 ≤ número de veículos ≤ 100,000

2 ≤ eixos ≤ 10

Exemplos

Exemplo 1
Entrada:
vehicles = ["car", "motorbike", "truck 4"]

Saída esperada:
expected = 18
Entrada:
std::vector<std::string> vehicles = {"car", "motorbike", "truck 4"};

Saída esperada:
long long expected = 18;
Entrada:
string[] vehicles = new string[] {"car", "motorbike", "truck 4"};

Saída esperada:
long expected = 18;

Explicação

5 + 2 + (5 + 3 × 2) = 18.

Exemplo 2
Entrada:
vehicles = ["truck 2", "truck 3"]

Saída esperada:
expected = 13
Entrada:
std::vector<std::string> vehicles = {"truck 2", "truck 3"};

Saída esperada:
long long expected = 13;
Entrada:
string[] vehicles = new string[] {"truck 2", "truck 3"};

Saída esperada:
long expected = 13;

Explicação

Um caminhão com 2 eixos paga apenas a tarifa de carro 5; um caminhão com 3 eixos paga 5 + 3 = 8. Total 13.

Como abordar

Tente sozinho primeiro e depois abra uma dica de cada vez.

Dica 1

Comece pela tarifa de carro, 5, e ajuste por tipo de veículo.

Dica 2

Um caminhão só paga extra pelos eixos além dos dois primeiros.

Dica 3

Motos substituem a regra base por um valor fixo de 2.

Complexidade esperada

tempo O(número de veículos), espaço extra O(1)

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.