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

टोही इकाइयों को बनाने के तरीकों की गणना करने के लिए C++ कोड

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है, और दूसरी संख्या d है। ड्रीमलैंड की सेना के नियमों के अनुसार, एक टोही इकाई में ठीक दो सैनिक होने चाहिए। चूंकि इन दोनों सैनिकों में अधिक अंतर नहीं होना चाहिए, इसलिए उनकी ऊंचाई अधिकतम d सेंटीमीटर से भिन्न हो सकती है। ऐसे n सैनिक हैं जिनकी ऊँचाइयाँ सरणी A में संग्रहीत हैं। कुछ सैनिक समान ऊँचाई के हैं। हमें यह पता लगाना होगा कि इन n सैनिकों से टोही इकाई बनाने के कितने तरीके मौजूद हैं।

तो, अगर इनपुट ए =[10, 20, 50, 60, 65] की तरह है; d =10, तो आउटपुट 6 होगा, क्योंकि (10, 20), (20, 10), (50, 60), (60, 50), (60, 65), (65, 60) संभव हैं। इकाइयाँ।

कदम

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

ans := 0
for initialize i := 1, when i < size of A, update (increase i by 1), do:
   for initialize j := 0, when j < i, update (increase j by 1), do:
      if |A[i] - A[j]| <= d, then:
         (increase ans by 1)
      return ans * 2

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A, int d){
   int ans = 0;
   for (int i = 1; i < A.size(); i++)
      for (int j = 0; j < i; j++)
         if (abs(A[i] - A[j]) <= d)
            ans++;
   return ans * 2;
}
int main(){
   vector<int> A = { 10, 20, 50, 60, 65 };
   int d = 10;
   cout << solve(A, d) << endl;
}

इनपुट

{ 10, 20, 50, 60, 65 }, 10

आउटपुट

6

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

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

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

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

  1. सी++ में ग्रे कोड

    जैसा कि हम जानते हैं कि ग्रे कोड एक द्विआधारी अंक प्रणाली है जहां दो क्रमिक मान केवल एक बिट में भिन्न होते हैं। मान लीजिए कि हमारे पास कोड में बिट्स की कुल संख्या का प्रतिनिधित्व करने वाला एक गैर-ऋणात्मक पूर्णांक n है। हमें ग्रे कोड के सीक्वेंस को प्रिंट करना होता है। एक ग्रे कोड अनुक्रम 0 से शुरू ह