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

C++ प्रोग्राम: न्यूनतम रुपये ढूंढें जिनका भुगतान करके ठीक n लीटर पानी खरीदना है


मान लीजिए हमारे पास तीन संख्याएं n, a और b हैं। हम n लीटर पानी खरीदना चाहते हैं। आसपास केवल दो प्रकार की पानी की बोतलें हैं, 1-लीटर बोतलें और 2-लीटर बोतलें। पहली प्रकार की बोतल की कीमत a रुपये है और दूसरी प्रकार की बोतल की कीमत b रुपये है। हम यथासंभव कम पैसा खर्च करना चाहते हैं। हमें ठीक n लीटर पानी खरीदने के लिए आवश्यक धन की न्यूनतम राशि ढूंढनी है।

उदाहरण के लिए, यदि इनपुट n = 7; a = 3; b = 2 है, तो आउटपुट 9 होगा, क्योंकि 3 दो-लीटर बोतलों से हम 6 लीटर पानी 6 की कीमत पर प्राप्त कर सकते हैं, फिर 3 की कीमत पर एक 1-लीटर बोतल की आवश्यकता होती है।

चरण

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

b := minimum of a * 2 and b return (n / 2 * b) + (n mod 2) * a

उदाहरण

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

#include <bits/stdc++.h> using namespace std; int solve(int n, int a, int b) {    b = min(a * 2, b);    return n / 2 * b + n % 2 * a; } int main() {    int n = 7;    int a = 3;    int b = 2;    cout << solve(n, a, b) << endl; }

इनपुट

7, 3, 2

आउटपुट

9
  1. C++ में कार्टेशियन निर्देशांकों को जोड़ने की न्यूनतम लागत ज्ञात करने का प्रोग्राम C++ में कार्टेशियन निर्देशांकों को जोड़ने की न्यूनतम लागत ज्ञात करने का प्रोग्राम

    मान लीजिए हमारे पास 2D कार्टेशियन निर्देशांक बिंदुओं (x, y) की एक सूची है। हम (x0, y0) और (x1, y1) को जोड़ सकते हैं, जिसकी लागत |x0 - x1| + |y0 - y1| है। यदि हमें किसी भी संख्या में बिंदुओं को जोड़ने की अनुमति है, तो हमें वह न्यूनतम लागत ज्ञात करनी होगी जिससे हर बिंदु एक पथ से जुड़ा हो।उदाहरण के लिए

  1. - C++ में कम्युनिकेशन टावर्स में न्यूनतम समूहों की संख्या

    मान लीजिए हमारे पास एक 2D बाइनरी मैट्रिक्स है जहां 1 एक कम्युनिकेशन टावर को दर्शाता है, और 0 एक खाली सेल को दर्शाता है। टावर निम्न तरीकों से संवाद कर सकते हैं: यदि टावर A और टावर B एक ही पंक्ति या कॉलम पर हैं, तो वे एक-दूसरे से संवाद कर सकते हैं। यदि टावर A, टावर B से बात कर सकता है और B, C से बात

  1. C++ में बाइनरी ट्री के उस स्तर को खोजें जिसका योग न्यूनतम है C++ में बाइनरी ट्री के उस स्तर को खोजें जिसका योग न्यूनतम है

    एक बाइनरी ट्री दिया गया है जहां रूट का स्तर 1 है। हमें वह सबसे छोटा स्तर X ढूंढना है जहां सभी नोड्स के मानों का योग न्यूनतम हो। उदाहरण ट्री में रूट 5 है, बाएं 4, दाएं -10, आदि। स्तर 2 का योग 4 + (-10) = -6 है, जो न्यूनतम है, इसलिए आउटपुट 2 है। समाधान दृष्टिकोण हम लेवल ऑर्डर ट्रैवर्सल (BFS) का उपयोग