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

C प्रोग्रामिंग में N पेंटिंग्स को रंगने के तरीके ताकि आसन्न पेंटिंग्स का रंग समान न हो

इस समस्या में, आपको N पेंटिंग्स दी गई हैं और हमारे पास m रंग हैं जिनसे हम पेंटिंग्स बना सकते हैं। हमें उन तरीकों की संख्या ज्ञात करनी है जिनसे हम पेंटिंग्स बना सकते हैं ताकि कोई भी दो आसन्न पेंटिंग्स का रंग समान न हो।

प्रोग्राम का आउटपुट बहुत बड़े मानों का हो सकता है और इन मानों को संभालना थोड़ी समस्या है, इसलिए हम इसका उत्तर मानक मॉड्यूलो 109 + 7 में गणना करेंगे।

तरीकों की संख्या ज्ञात करने का सूत्र है:

Ways = m * (m-1)(n-1)

समस्या को समझाने के लिए उदाहरण, इसमें पेंटिंग्स की संख्या n और रंगों की संख्या m की आवश्यकता होगी:

इनपुट

n = 5, m = 6

आउटपुट

3750

उदाहरण

#include <iostream>
#include <math.h>
#define MOD 1000000007
using namespace std;

unsigned long power(unsigned long x, unsigned long y, unsigned long p) {
    unsigned long res = 1;
    x = x % p;
    while (y > 0) {
        if (y & 1)
            res = (res * x) % p;
        y = y >> 1;
        x = (x * x) % p;
    }
    return res;
}

int ways(int n, int m) {
    return (int)((power(m - 1, n - 1, MOD) * 1LL * m) % MOD);
}

int main() {
    int n = 5, m = 6;
    cout << "There are " << ways(n, m) << " ways";
    return 0;
}

आउटपुट

There are 3750 ways
  1. C++ प्रोग्राम में डायनामिक प्रोग्रामिंग का उपयोग करके बाइनरी ट्री में आसन्न न होने वाले नोड्स का अधिकतम योग C++ प्रोग्राम में डायनामिक प्रोग्रामिंग का उपयोग करके बाइनरी ट्री में आसन्न न होने वाले नोड्स का अधिकतम योग

    इस समस्या में, हमें एक बाइनरी ट्री दिया गया है जिसमें प्रत्येक नोड का एक मान है। हमारा कार्य एक प्रोग्राम बनाना है जो डायनामिक प्रोग्रामिंग का उपयोग करके बाइनरी ट्री में ऐसे नोड्स का अधिकतम योग ढूंढे जो आसन्न न हों। समस्या विवरण हम बाइनरी ट्री के उपसमुच्चय (subsets) को चुनेंगे ताकि योग अधिकतम हो औ

  1. सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++ सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++

    इस समस्या में, हमें एक सर्कुलर ऐरे cirArr[] दिया गया है। हमारा कार्य एक प्रोग्राम बनाना है जो C++ में सर्कुलर ऐरे में अधिकतम योग ढूंढे जहाँ कोई दो आसन्न तत्व न हों।समस्या विवरणसर्कुलर ऐरे के लिए, हमें ऐरे के तत्वों का अधिकतम योग ढूंढना है जहाँ आसन्न तत्वों को नहीं लिया जा सकता, यानी हमें वैकल्पिक तत

  1. - Python में अक्षरों को व्यवस्थित करने के तरीके खोजने का प्रोग्राम जहां प्रत्येक उपसर्ग और प्रत्यय में A से अधिक B हों

    मान लीजिए हमारे पास n संख्या में A और 2n संख्या में B के साथ एक स्ट्रिंग है। हमें उन व्यवस्थाओं की संख्या ढूंढनी है जहां प्रत्येक उपसर्ग और प्रत्येक प्रत्यय में B की संख्या A की संख्या से अधिक या बराबर हो।तो, यदि इनपुट n = 2 है, तो आउटपुट 4 होगा क्योंकि दो A और चार B हैं, इसलिए संभावित व्यवस्थाएं है