Alle Herausforderungen
Einfach 0 gelöst 0% Erfolgsquote

Mautgebühren für Fahrzeuge

Erhebe Maut für Motorräder, Autos und Lastwagen, wobei Lastwagen die grundlegende Fahrzeugregel um Achsen erweitern.

Das lernst du

  • Die Regel der Elternklasse in einer Unterklasse wiederverwenden
  • Zusatzkosten auf einen Grundtarif aufschlagen
  • Aus einer Beschreibung die richtige Klasse wählen

Problem

Mit inheritance verwendet eine Unterklasse das Verhalten ihrer Oberklasse erneut und ergänzt ihr eigenes. Jedes Fahrzeug zahlt eine Maut; ein Lastwagen ist ein Fahrzeug, das für seine Achsen zusätzlich zahlt.

Jedes Fahrzeug ist eines von:

  • motorbike: zahlt 2.
  • car: zahlt 5.
  • truck <axles>: zahlt den Autotarif 5, plus 3 für jede Achse über den ersten beiden.

Implementiere vehicle_tolls(vehicles).

Eingabe

vehicles: Die Fahrzeuge, die die Mautstelle passieren.

Ausgabe

Gib die insgesamt eingenommene Maut zurück.

Einschränkungen

0 ≤ Anzahl der Fahrzeuge ≤ 100,000

2 ≤ Achsen ≤ 10

Beispiele

Beispiel 1
Eingabe:
vehicles = ["car", "motorbike", "truck 4"]

Erwartete Ausgabe:
expected = 18
Eingabe:
std::vector<std::string> vehicles = {"car", "motorbike", "truck 4"};

Erwartete Ausgabe:
long long expected = 18;
Eingabe:
string[] vehicles = new string[] {"car", "motorbike", "truck 4"};

Erwartete Ausgabe:
long expected = 18;

Erläuterung

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

Beispiel 2
Eingabe:
vehicles = ["truck 2", "truck 3"]

Erwartete Ausgabe:
expected = 13
Eingabe:
std::vector<std::string> vehicles = {"truck 2", "truck 3"};

Erwartete Ausgabe:
long long expected = 13;
Eingabe:
string[] vehicles = new string[] {"truck 2", "truck 3"};

Erwartete Ausgabe:
long expected = 13;

Erläuterung

Ein Lastwagen mit 2 Achsen zahlt nur den Autotarif 5; ein Lastwagen mit 3 Achsen zahlt 5 + 3 = 8. Insgesamt 13.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Starte beim Pkw-Tarif von 5 und passe ihn je Fahrzeugtyp an.

Hinweis 2

Ein Lkw zahlt nur für Achsen über die ersten beiden hinaus extra.

Hinweis 3

Motorräder überschreiben die Grundregel mit festen 2.

Erwartete Komplexität

Zeit O(Anzahl der Fahrzeuge), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.