К списку задач
Легко Решено: 0 Процент решений: 0%

Плата за проезд

Взимайте плату за проезд с мотоциклов, легковых автомобилей и грузовиков, где для грузовиков базовое правило для транспортных средств дополняется количеством осей.

Чему вы научитесь

  • Повторно использовать правило родителя в подклассе
  • Добавлять доплату к базовому тарифу
  • Выбирать нужный класс по описанию

Условие

With inheritance, a subclass reuses its parent's behaviour and adds its own. За каждое транспортное средство взимается плата за проезд; грузовик — это транспортное средство, которое платит дополнительно за свои оси.

Each vehicle is one of:

  • motorbike: pays 2.
  • car: pays 5.
  • truck <axles>: pays the car rate 5, plus 3 for every axle beyond the first two.

Implement vehicle_tolls(vehicles).

Input

vehicles: Транспортные средства, проходящие через пункт оплаты.

Output

Return the total toll collected.

Ограничения

0 ≤ число транспортных средств ≤ 100,000

2 ≤ число осей ≤ 10

Примеры

Пример 1
Ввод:
vehicles = ["car", "motorbike", "truck 4"]

Ожидаемый вывод:
expected = 18
Ввод:
std::vector<std::string> vehicles = {"car", "motorbike", "truck 4"};

Ожидаемый вывод:
long long expected = 18;
Ввод:
string[] vehicles = new string[] {"car", "motorbike", "truck 4"};

Ожидаемый вывод:
long expected = 18;

Пояснение

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

Пример 2
Ввод:
vehicles = ["truck 2", "truck 3"]

Ожидаемый вывод:
expected = 13
Ввод:
std::vector<std::string> vehicles = {"truck 2", "truck 3"};

Ожидаемый вывод:
long long expected = 13;
Ввод:
string[] vehicles = new string[] {"truck 2", "truck 3"};

Ожидаемый вывод:
long expected = 13;

Пояснение

Грузовик с 2 осями платит только тариф легковой машины 5; с 3 осями — 5 + 3 = 8. Итого 13.

Как подступиться

Сначала попробуйте сами, затем открывайте подсказки по одной.

Подсказка 1

Начните с тарифа легковой машины 5 и корректируйте по типу транспорта.

Подсказка 2

Грузовик доплачивает только за оси сверх первых двух.

Подсказка 3

Мотоциклы заменяют базовое правило фиксированной платой 2.

Ожидаемая сложность

время O(число машин), доп. память O(1)

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.