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

सी ++ प्रोग्राम न्यूनतम संभव कुरूपता खोजने के लिए हम टावरों को प्राप्त कर सकते हैं

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। विचार करें कि एक पंक्ति में n ब्लॉक टावर हैं। Ith टावर की ऊंचाई A[i] है। एक ही दिन में, हम ऑपरेशन कर सकते हैं:दो इंडेक्स i और j (i !=j) चुनें और टावर i से j पर वापस जाएं। यह A[i] को 1 से घटाएगा और A[j] को 1 से बढ़ाएगा। इमारतों की कुरूपता अधिकतम (A) - मिनट (A) है। हमें न्यूनतम संभव कुरूपता का पता लगाना होगा जिसे हम प्राप्त कर सकते हैं।

इसलिए, यदि इनपुट A =[1, 2, 3, 1, 5] जैसा है, तो आउटपुट 1 होगा, क्योंकि हम i=2 और j=0 के लिए तीन ऑपरेशन कर सकते हैं, अब नई सरणी होगी [ 2,2,2,1,5], तो i =4 और j =3 के लिए, सरणी [2,2,2,2,4] होगी, और i =4 और j =2 के लिए, सरणी है [ 2,2,3,2,3].

कदम

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

sum := 0
x := 0
n := size of A
for initialize i := 0, when i < n, update (increase i by 1), do:
   sum := sum + A[i]
if sum mod n is same as 0, then:
   return 0
return 1

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;

int solve(vector<int> A) {
   int sum = 0, x = 0;
   int n = A.size();
   for (int i = 0; i < n; i++)
      sum += A[i];
   if (sum % n == 0)
      return 0;
   return 1;
}
int main() {
   vector<int> A = { 1, 2, 3, 1, 5 };
   cout << solve(A) << endl;
}

इनपुट

{ 1, 2, 3, 1, 5 }

आउटपुट

1

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

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

  1. पेड़ के स्तर को खोजने के लिए कार्यक्रम जिसमें सी ++ में न्यूनतम योग है

    मान लीजिए हमारे पास एक बाइनरी ट्री है, इसकी जड़ का स्तर 1 है, इसके बच्चों का स्तर 2 है, और इसी तरह। हमें सबसे छोटा स्तर X खोजना है जैसे कि स्तर X पर नोड्स के सभी मानों का योग न्यूनतम हो। तो अगर पेड़ जैसा है - आउटपुट 2 होगा क्योंकि योग 4 - 10 =-6 है, जो न्यूनतम है। इसे हल करने के लिए, हम इन चरणों

  1. सी ++ प्रोग्राम जीसीडी खोजने के लिए

    दो संख्याओं का सबसे बड़ा सामान्य भाजक (GCD) उन दोनों को विभाजित करने वाली सबसे बड़ी संख्या है। उदाहरण के लिए:मान लें कि हमारे पास 45 और 27 दो संख्याएँ हैं। 45 = 5 * 3 * 3 27 = 3 * 3 * 3 तो, 45 और 27 का GCD 9 है। दो संख्याओं का GCD ज्ञात करने का कार्यक्रम इस प्रकार दिया गया है। उदाहरण #include <