क्या ये आयतें एक आयताकार जगह भर सकती हैं?
आयतों के एक समूह को देखते हुए, आपसे पूछा जाता है कि क्या उन्हें एक आयताकार स्थान को भरने के लिए व्यवस्थित किया जा सकता है या नहीं।
चश्मा
मनमानी m x n
आयतों का एक गुच्छा दिया ; 0 <= m, n <= 1000
, यह निर्धारित करें कि क्या उन्हें व्यवस्थित करना संभव है या नहीं, ताकि वे बिना किसी छेद या ओवरलैप के ठीक एक आयताकार क्षेत्र को कवर कर सकें। आयतों को घुमाया नहीं जा सकता है, और प्रत्येक आयत को केवल एक बार रखा जा सकता है।
इनपुट
इसके लिए इनपुट बहुत लचीला है, जब तक इनपुट 2-स्पेस आयामों की सूची देता है। उदाहरण के लिए, निम्नलिखित दोनों मान्य हैं:
स्पेस, रिटर्न द्वारा अलग किया गया
1 2
1 5
4 5
3 6
आयामों की सूची
[[1, 2], [1, 5], [4, 5], [3, 6]]
उत्पादन
किसी भी प्रकार के सच्चे / झूठे मान जैसे सच्चे / झूठे, 0/1, T / F, सच्चे / झूठे, आदि यदि आप एक आउटपुट विधि का उपयोग करने जा रहे हैं जो बहुत स्पष्ट नहीं है, तो कृपया अपने उत्तर में निर्दिष्ट करें।
उदाहरण
टेस्ट केस 1
इनपुट:
1 1
1 5
2 6
आउटपुट:
true
(या कुछ इसी तरह)
इसे कैसे व्यवस्थित करें:
XYYYYY
ZZZZZZ
ZZZZZZ
टेस्ट केस 2
इनपुट:
1 1
2 2
आउटपुट:
false
(या कुछ समान)
स्पष्टीकरण: यह स्पष्ट हो जाता है कि आप विभिन्न आकारों के दो वर्गों की व्यवस्था नहीं कर सकते हैं और उनके किनारों को पंक्तिबद्ध कर सकते हैं।
टेस्ट केस 3
इनपुट:
1 1
1 2
1 2
2 1
2 1
आउटपुट:
true
(या कुछ इसी तरह) इसे कैसे व्यवस्थित करें:
AAB
DEB
DCC
जैसा कि @ETHProductions ने बताया, अन्य सभी परीक्षण मामलों के लिए, आप आयतों को एक सामान्य किनारे की लंबाई के साथ जोड़ सकते हैं, जब तक कि आपके पास केवल एक आयत न हो, इसलिए यह परीक्षण मामला केवल इस विचार का उपयोग करने वाले किसी भी कोड को तोड़ने के लिए है।
टेस्ट केस 4
इनपुट:
3 2
4 1
2 1
4 1
2 1
5 2
3 2
1 4
3 2
2 1
2 1
1 1
5 1
आउटपुट:
true
(या कुछ इसी तरह)
इसे कैसे व्यवस्थित करें:
AAABBBBEE
AAACCDDDD
FFFFFGGGH
FFFFFGGGH
IIIJJKKLH
IIIMMMMMH
नोट : आपको यह बताने की आवश्यकता नहीं है कि इसे कैसे व्यवस्थित करना है, आपको केवल यह निर्धारित करने की आवश्यकता है कि क्या यह व्यवस्थित नहीं किया जा सकता है।
यह कोड गोल्फ है, इसलिए बाइट्स जीत में सबसे छोटा जवाब है! मैं 14 जनवरी तक सबसे छोटा जवाब स्वीकार करूंगा, लेकिन बाद में जवाब देने के लिए स्वतंत्र महसूस करूंगा क्योंकि मैं अभी भी हार मान सकता हूं! :)
हैप्पी गोल्फिंग!
~ एएल
PS यदि आप जानते हैं कि इस समस्या के लिए कौन सा टैग लागू किया जाना चाहिए, तो कृपया इसे जोड़ें, मुझे बिल्कुल पता नहीं है कि कोड-गोल्फ के अलावा टैग के रूप में क्या रखा जाए।
संपादित करें : आपका कार्यक्रम एक सभ्य कंप्यूटर पर अधिकतम 10 सेकंड में (मैं इस नियम पर काफी लचीला हो जाएगा) तक 25 आयतों को संसाधित करने में सक्षम होना चाहिए।
संपादित करें : मैंने वर्ष के अंतिम दिन तक सबमिशन स्वीकृति की समय सीमा बढ़ा दी है, लेकिन मुझे संदेह है कि मुझे तब तक उत्तर मिल जाएगा ...
संपादित करें : मैंने सबमिशन स्वीकृति की समय सीमा 2 सप्ताह बढ़ा दी है, इसलिए यदि कोई और जवाब नहीं आता है, तो वर्तमान सी उत्तर स्वीकार कर लिया जाएगा! :)
[[1, 2], [2, 1], [1, 1], [1, 2], [2, 1]]
(जो व्यवस्थित किया जा सकता है ABB ACD EED
) के लिए विफल रहता है । आप इस साधारण परीक्षण मामले को जोड़ना चाह सकते हैं।