आसान 0 हल किए गए 0% स्वीकृति

वाहनों का टोल

motorbikes, cars और trucks के लिए toll वसूलें, जहाँ trucks axles के साथ basic vehicle rule का विस्तार करते हैं।

आप क्या सीखेंगे

  • पैरेंट क्लास का नियम सबक्लास में दोबारा इस्तेमाल करना
  • बेस दर पर अतिरिक्त शुल्क जोड़ना
  • विवरण से सही क्लास चुनना

समस्या

inheritance के साथ, एक subclass अपने parent के behaviour का पुन: उपयोग करती है और अपना behaviour जोड़ती है। हर vehicle एक toll देता है; truck एक vehicle है जो अपने axles के लिए extra भुगतान करता है।

हर vehicle इनमें से एक है:

  • motorbike: 2 देता है।
  • car: 5 देता है।
  • truck <axles>: car rate 5 देता है, साथ में पहले दो के बाद हर axle के लिए 3 अतिरिक्त देता है।

vehicle_tolls(vehicles) को implement करें।

Input

vehicles: Toll gate से गुजरने वाले vehicles।

Output

कुल collected toll लौटाएँ।

सीमाएँ

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-axle truck केवल car rate 5 देता है; एक 3-axle truck 5 + 3 = 8 देता है। Total 13.

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

कार की दर 5 से शुरू करें और वाहन के प्रकार के अनुसार बदलें।

संकेत 2

ट्रक सिर्फ़ पहले दो एक्सल के बाद वाले एक्सल का अतिरिक्त देता है।

संकेत 3

मोटरबाइक बेस नियम को तय 2 से ओवरराइड करती है।

अपेक्षित जटिलता

समय O(वाहनों की संख्या), अतिरिक्त स्थान O(1)

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।