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

k दिनों के बाद सक्रिय और निष्क्रिय सेल


यहां हम एक रोचक समस्या देखेंगे। मान लीजिए आकार n का एक बाइनरी सरणी दिया गया है। यहां n > 3। एक सत्य मान या 1 सक्रिय अवस्था को इंगित करता है, और 0 या असत्य निष्क्रिय को इंगित करता है। एक अन्य संख्या k भी दी गई है। हमें k दिनों के बाद सक्रिय या निष्क्रिय सेल ढूंढने हैं। हर दिन i-वें सेल की अवस्था सक्रिय होगी यदि बाएं और दाएं सेल समान नहीं हैं, यदि वे समान हैं, तो यह निष्क्रिय होगा। सबसे बाएं और सबसे दाएं सेल के पहले और बाद में कोई सेल नहीं होता। इसलिए सबसे बाएं और सबसे दाएं सेल हमेशा 0 होते हैं।

आइए एक उदाहरण देखें ताकि विचार मिल सके। मान लीजिए एक सरणी है जैसे {0, 1, 0, 1, 0, 1, 0, 1}, और k का मान = 3। तो आइए देखें कि यह दिन-प्रतिदिन कैसे बदलता है।

  • 1 दिन के बाद सरणी होगी {1, 0, 0, 0, 0, 0, 0, 0}
  • 2 दिनों के बाद सरणी होगी {0, 1, 0, 0, 0, 0, 0, 0}
  • 3 दिनों के बाद सरणी होगी {1, 0, 1, 0, 0, 0, 0, 0}

तो 2 सक्रिय सेल और 6 निष्क्रिय सेल

एल्गोरिदम

activeCellKdays(arr, n, k)

begin   make a copy of arr into temp   for i in range 1 to k, do     temp[0] := 0 XOR arr[1]     temp[n-1] := 0 XOR arr[n-2]     for each cell i from 1 to n-2, do         temp[i] := arr[i-1] XOR arr[i+1]     done     copy temp to arr for next iteration   done   count number of 1s as active, and number of 0s as inactive, then return the values. end

उदाहरण

#include  using namespace std; void activeCellKdays(bool arr[], int n, int k) {     bool temp[n]; //temp arr की कॉपी रखता है     for (int i=0; iActive Cells = 2, Inactive Cells = 6

  1. एक्टिव नॉइज़-कैंसलिंग हेडफोन्स के फायदे और नुकसान एक्टिव नॉइज़-कैंसलिंग हेडफोन्स के फायदे और नुकसान

    कागज पर, एक्टिव नॉइज़-कैंसलिंग हेडफोन्स नियमित वाले से बिल्कुल बेहतर लगते हैं। वे पैसिव नॉइज़-कैंसलेशन हेडफोन्स से भी बेहतर लगते हैं, जो एक्टिव-कैंसलेशन विधियों का उपयोग करने के बजाय हेडफोन सामग्री और डिजाइन पर निर्भर करते हैं। हालांकि, एक्टिव नॉइज़ कैंसलेशन के कुछ नुकसान हैं, इसलिए नए हेडफोन्स खरी

  1. Excel में सेल, कॉलम और रो को मर्ज कैसे करें Excel में सेल, कॉलम और रो को मर्ज कैसे करें

    आप Microsoft Excel में टेक्स्ट के एक भाग को कैसे फॉर्मेट करना चाहते हैं, इस पर निर्भर करते हुए, आपको कभी-कभी सेल मर्ज करने होंगे। आपका कारण जो भी हो, कुछ अलग तकनीकें हैं जिनका आप उपयोग कर सकते हैं। ये सेल, रो, और कॉलम के मर्ज को प्राप्त करने में आपकी मदद कर सकते हैं। कुछ विधियां सेल में कुछ डेटा से

  1. Excel में शीट्स और वर्कबुक्स के बीच सेल्स को निर्बाध रूप से लिंक करें Excel में शीट्स और वर्कबुक्स के बीच सेल्स को निर्बाध रूप से लिंक करें

    Excel में सेल डेटा लिंक क्यों करें अलग-अलग शीट्स में डेटा को रेफरेंस करना कई कारणों से एक मूल्यवान कौशल है। पहला, यह आपकी स्प्रेडशीट्स को व्यवस्थित करना आसान बनाता है। उदाहरण के लिए, आप कच्चे डेटा को इकट्ठा करने के लिए एक शीट या वर्कबुक का उपयोग कर सकते हैं, और फिर रिपोर्ट्स और/या सारांश के लिए एक न