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

C++ प्रोग्राम: जांचें कि क्या तीन आइटम अगले आइटम को चक्रीय रूप से पसंद करते हैं


मान लीजिए हमारे पास n तत्वों वाला एक सरणी A है। पृथ्वी पर n विमान हैं और वे 1 से n तक संख्यांकित हैं। संख्या i वाला विमान विमान A[i] को पसंद करता है। A[i] != i। हमें यह जांचना है कि क्या तीन विमान p, q, और r हैं जहां p, q को पसंद करता है, q, r को पसंद करता है और r, p को पसंद करता है।

उदाहरण के लिए, यदि इनपुट A = [2, 4, 5, 1, 3] है, तो आउटपुट True होगा, क्योंकि ट्रिपलेट [2, 4, 1] है।

चरण

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

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

उदाहरण

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

#include <bits/stdc++.h> using namespace std; bool solve(vector<int> A) {    int n = A.size();    for (int i = 0; i < n; i++) {       if (A[A[A[i + 1]]] == i + 1) {          return true;       }    }    return false; } int main() {    vector<int> A = { 2, 4, 5, 1, 3 };    cout << solve(A) << endl; }

इनपुट

{ 2, 4, 5, 1, 3 }

आउटपुट

1
  1. C++ में STL का उपयोग करके जांचें कि क्या सरणी पैलिंड्रोम है या नहीं C++ में STL का उपयोग करके जांचें कि क्या सरणी पैलिंड्रोम है या नहीं

    n पूर्णांकों की एक सरणी arr[n] दी गई है, कार्य यह जांचना है कि क्या सरणी एक पैलिंड्रोम है या नहीं। हमें C++ में STL (स्टैंडर्ड टेम्पलेट लाइब्रेरी) का उपयोग करके यह कार्य करना है। C++ में STL (Standard Template Library) की एक विशेषता है, यह C++ टेम्पलेट कक्षाओं का एक समूह है जिसका उपयोग डेटा संरचना

  1. C++ में जांचें कि क्या तीन बिंदु संरेखीय हैं या नहीं C++ में जांचें कि क्या तीन बिंदु संरेखीय हैं या नहीं

    तीन अलग-अलग मान वाले बिंदु दिए गए हैं और कार्य यह जांचना है कि क्या बिंदु संरेखीय हैं या नहीं। बिंदुओं को संरेखीय कहा जाता है यदि वे एक ही रेखा पर स्थित हैं और वे असंरेखीय हैं यदि वे अलग-अलग रेखाओं पर हैं। नीचे संरेखीय और असंरेखीय बिंदुओं का चित्र दिया गया है। इनपुट x1 = 1, x2 = 2, x3 = 3, y1 =

  1. C++ प्रोग्राम: जांचें कि क्या एक ग्राफ दृढ़ता से जुड़ा हुआ है या नहीं C++ प्रोग्राम: जांचें कि क्या एक ग्राफ दृढ़ता से जुड़ा हुआ है या नहीं

    निर्देशित ग्राफ में घटकों को दृढ़ता से जुड़ा हुआ कहा जाता है, जब एक घटक में वर्टेक्स के प्रत्येक जोड़े के बीच एक पथ होता है। इस एल्गोरिदम को हल करने के लिए, पहले, प्रत्येक वर्टेक्स का फिनिश टाइम प्राप्त करने के लिए DFS एल्गोरिदम का उपयोग किया जाता है, अब ट्रांसपोज़्ड ग्राफ का फिनिश टाइम ढूंढें, फि