Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ कोड: बैंक द्वारा एकत्र किए जा सकने वाले अधिकतम बैंकनोट्स की गिनती


मान लीजिए हमारे पास तीन संख्याएं k, l और m हैं, और n तत्वों वाली एक और सरणी A है। एक डाकू बैंक को लूटने में विफल रहा लेकिन बैंक के सभी सेफ खोलने में कामयाब रहा। बैंक क्लाइंट इस विफल डकैती का लाभ उठाने और सेफ से कुछ पैसे चुराने का फैसला करता है। एक लाइन में कई सेफ हैं। कुल मिलाकर सभी सेफ में n बैंकनोट्स बचे हैं। i-वां बैंकनोट सेफ A[i] में है। बैंक कर्मचारी अब सेफ k पर है। दो सुरक्षा गार्ड हैं, उनमें से एक सेफ l की रखवाली करता है जैसे कि l < k, इसलिए पहला गार्ड सामान के बाईं ओर है। दूसरा गार्ड सेफ m की रखवाली करता है जैसे कि m > k, (वह सामान के दाईं ओर है)। दोनों गार्ड हिलते नहीं हैं। हर सेकंड में, सामान या तो वर्तमान सेफ से सभी बैंकनोट्स ले सकता है या किसी भी आसन्न सेफ पर जा सकता है। हालांकि, वह किसी भी समय सुरक्षा गार्ड द्वारा संरक्षित किसी भी सेफ पर नहीं जा सकता, क्योंकि उस पर चोरी का आरोप लगाया जा सकता है। हमें अधिकतम मात्रा में बैंकनोट्स ज्ञात करने हैं जो सामान इकट्ठा कर सकता है।

इसलिए, यदि इनपुट k = 5; l = 3; m = 7; A = [4, 7, 5, 5, 3, 6, 2, 8] है, तो आउटपुट 4 होगा, क्योंकि:

चरण

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

c1 := 0 n := size of A c1 := 0 for initialize i := 0, when i < n, update (increase i by 1), do:    x := A[i]    if x > l and x < m, then:       (increase c1 by 1) return c1

उदाहरण

बेहतर समझ के लिए निम्न कार्यान्वयन देखें:

#include <bits/stdc++.h> using namespace std; int solve(int k, int l, int m, vector<int> A){    int c1 = 0, x;    int n = A.size();    c1 = 0;    for (int i = 0; i < n; i++){       x = A[i];       if (x > l && x < m)          c1++;    }    return c1; } int main(){    int k = 5;    int l = 3;    int m = 7;    vector<int> A = { 4, 7, 5, 5, 3, 6, 2, 8 };    cout << solve(k, l, m, A) << endl; }

इनपुट

5, 3, 7, { 4, 7, 5, 5, 3, 6, 2, 8 }

आउटपुट

4

  1. C++ कोड: रोबोट द्वारा अंतिम स्थिति तक पहुंचने के चरणों की गणना करें C++ कोड: रोबोट द्वारा अंतिम स्थिति तक पहुंचने के चरणों की गणना करें

    मान लीजिए हमारे पास दो निर्देशांक (x1, y1) और (x2, y2) हैं। एक रोबोट बिंदु (x1, y1) पर है और बिंदु (x2, y2) पर जाना चाहता है। एक चरण में, रोबोट अपने 8 आसन्न निर्देशांकों में से एक सेल की ओर बढ़ सकता है। हमें अंतिम स्थिति तक पहुंचने के लिए आवश्यक न्यूनतम चरणों की संख्या ढूंढनी है।उदाहरण के लिए, यदि इ

  1. C++ में तल में समानांतर चतुर्भुजों की गणना C++ में तल में समानांतर चतुर्भुजों की गणना

    हमें एक तल दिया गया है जिसमें समानांतर चतुर्भुज बनाने वाले बिंदु हैं और कार्य दिए गए बिंदुओं का उपयोग करके बनने वाले समानांतर चतुर्भुजों की संख्या की गणना करना है। समानांतर चतुर्भुज में एक चतुर्भुज की विपरीत भुजाएँ समानांतर होती हैं और इसलिए विपरीत कोण समान होते हैं। इनपुट - int a[] = {0, 2, 5, 5,

  1. - क्या C++ में main() को ओवरलोड किया जा सकता है?

    C++ में, हम फ़ंक्शन ओवरलोडिंग का उपयोग कर सकते हैं। अब सवाल यह आता है कि क्या हम main() फ़ंक्शन को भी ओवरलोड कर सकते हैं? आइए एक प्रोग्राम देखें ताकि विचार मिल सके। उदाहरण: main() ओवरलोड करने का प्रयास #include <iostream> using namespace std; int main(int x) { cout << x का मान: