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

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


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

इसलिए, यदि इनपुट A = [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++ कोड: रोबोट द्वारा अंतिम स्थिति तक पहुंचने के चरणों की गणना करें C++ कोड: रोबोट द्वारा अंतिम स्थिति तक पहुंचने के चरणों की गणना करें

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

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

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

  1. - C++ में ग्रे कोड (Gray Code)

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