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

C++ कोड: तीन ढेर से अधिकतम पत्थर चुनें


मान लीजिए हमारे पास तीन संख्याएं a, b और c हैं। a, b, और c संख्या के पत्थरों के साथ पत्थरों के तीन ढेर हैं। हर बार हम ये ऑपरेशन कर सकते हैं:

  • पहले ढेर से एक पत्थर और दूसरे ढेर से दो पत्थर लें (जब ढेर में आवश्यक संख्या में पत्थर हों)

  • दूसरे ढेर से एक पत्थर और तीसरे ढेर से दो पत्थर लें (जब ढेर में आवश्यक संख्या में पत्थर हों)

हमें गिनना है कि हम अधिकतम कितने पत्थर एकत्र कर सकते हैं?

उदाहरण के लिए, यदि इनपुट a = 3; b = 4; c = 5 है, तो आउटपुट 9 होगा, क्योंकि दो ऑपरेशन में हम दूसरे ढेर से दो पत्थर और तीसरे ढेर से चार पत्थर ले सकते हैं, कुल मिलाकर हमारे पास 6 पत्थर हैं, फिर पहले से एक और दूसरे से दो लेकर 3 और पत्थर प्राप्त करें।

चरण

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

return (minimum of b and floor of (c / 2) + minimum of a and (b - minimum of b and floor of (c / 2)) / 2) * 3

उदाहरण

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

#include  using namespace std; int solve(int a, int b, int c){     return (min(b, c / 2) + min(a, (b - min(b, c / 2)) / 2)) * 3; } int main(){     int a = 3;     int b = 4;     int c = 5;     cout << solve(a, b, c) << endl; }

इनपुट

3, 4, 5

आउटपुट

9

  1. ग्राफ से घटाए जा सकने वाले अधिकतम स्कोर की मात्रा ज्ञात करने का C++ प्रोग्राम ग्राफ से घटाए जा सकने वाले अधिकतम स्कोर की मात्रा ज्ञात करने का C++ प्रोग्राम

    मान लीजिए n वर्टेक्स और m एज वाला एक भारित, निदेश रहित ग्राफ दिया गया है। ग्राफ का स्कोर ग्राफ में सभी एज भारों का योग है। एज भार ऋणात्मक हो सकते हैं, और यदि उन्हें हटा दिया जाए तो ग्राफ का स्कोर बढ़ जाता है। हमें ग्राफ को संबद्ध रखते हुए एज हटाकर ग्राफ के स्कोर को न्यूनतम करना है। हमें घटाए जा सकन

  1. - C++ में बक्सों से अधिकतम कैंडी प्राप्त करना

    मान लीजिए हमारे पास n बक्से हैं, यहां प्रत्येक बॉक्स को प्रारूप में दिया गया है जैसे [status, candies, keys, containedBoxes] कुछ प्रतिबंधों के साथ: status[i]: 1 जब box[i] खुला है और 0 जब box[i] बंद है। candies[i]: box[i] में कैंडी की संख्या। keys[i]: उन बक्सों के इंडेक्स की एक सरणी जिन्हें हम box[i

  1. - C++ में तीन स्टैक का संभावित समान अधिकतम योग ज्ञात करें

    मान लीजिए हमारे पास धनात्मक संख्याओं के तीन स्टैक हैं। हमें शीर्ष तत्वों को हटाने की अनुमति के साथ स्टैक के संभावित समान अधिकतम योग को ज्ञात करना है। स्टैक को सरणी के रूप में दर्शाया गया है। सरणी का पहला सूचकांक स्टैक के शीर्ष तत्व को दर्शाता है। मान लीजिए स्टैक तत्व हैं जैसे [3, 10], [4, 5] और [2,