अवधारणा
दिए गए तीन अलग-अलग प्रकार के कप (p[]) और तश्तरी (q[]), और अलमारियों की m संख्या के संबंध में, निर्धारित करें कि क्या कप और अलमारियों की साफ-सुथरी व्यवस्था की जा सकती है।
अब, प्यालों और तश्तरियों की व्यवस्था निम्न नियमों का पालन करने पर साफ-सुथरी होगी -
- पहले नियम के अनुसार, किसी भी शेल्फ में कप और सॉसर दोनों नहीं हो सकते हैं।
- दूसरे नियम के अनुसार, किसी भी शेल्फ में 5 कप से अधिक नहीं हो सकते।
- तीसरे नियम के अनुसार, किसी भी शेल्फ में 10 से अधिक तश्तरी नहीं हो सकती हैं।
इनपुट
p[] = {4, 3, 7} q[] = {5, 9, 10} m = 11
आउटपुट
Yes
स्पष्टीकरण
कुल कप =14, आवश्यक अलमारियां =3
कुल तश्तरी =24, आवश्यक अलमारियां =3
तो, कुल आवश्यक अलमारियां =3 + 3 =6,
जो दी गई अलमारियों की संख्या m से छोटा है। तो, आउटपुट हाँ है।
इनपुट
p[] = {5, 8, 5} q[] = {4, 10, 11} m = 3
आउटपुट
No
कुल कप =18, अलमारियों की आवश्यकता =4
कुल तश्तरी =25, अलमारियों की आवश्यकता =3
तो, कुल आवश्यक अलमारियां =4 + 3 =7,
जो दी गई अलमारियों की संख्या m से बड़ा है। तो, आउटपुट नंबर है।
विधि
कप और तश्तरी की व्यवस्था के लिए, कपों की कुल संख्या p और तश्तरी की कुल संख्या q निर्धारित करें। क्योंकि, एक ही शेल्फ में 5 कप से अधिक होना संभव नहीं है, इसलिए सूत्र (p+5-1)/5 द्वारा कप के लिए आवश्यक अलमारियों की अधिकतम संख्या और तश्तरी के लिए आवश्यक अधिकतम अलमारियों की संख्या सूत्र को लागू करके निर्धारित करें ( क्यू+10-1)/10. यह देखा गया है कि यदि इन दोनों मानों का योग m के बराबर या उससे छोटा है तो व्यवस्था संभव है अन्यथा नहीं।
उदाहरण
// C++ code to find if neat // arrangement of cups and // shelves can be made #include<bits/stdc++.h> using namespace std; // Shows function to check arrangement void canArrange1(int p[], int q[], int m){ int sump = 0, sumq = 0; // Used to calculate total number // of cups for(int i = 0; i < 3; i++) sump += p[i]; // Used to calculate total number // of saucers for(int i = 0; i < 3; i++) sumq += q[i]; // Now adding 5 and 10 so that if the // total sum is smaller than 5 and // 10 then we can get 1 as the // answer and not 0 int mp = (sump + 5 - 1) / 5; int mq = (sumq + 10 - 1) / 10; if(mp + mq <= m) cout << "Yes"; else cout << "No"; } // Driver code int main(){ // Shows number of cups of each type int p[] = {4, 3, 7}; // Shows number of saucers of each type int q[] = {5, 9, 10}; // Shows number of shelves int m = 10; // ndicates calling function canArrange1(p, q, m); return 0; }
आउटपुट
Yes