लकड़ी के दो टुकड़े हैं। दोनों में एक सीधा शरीर और शरीर के नीचे कुछ अतिरिक्त खंड होते हैं। (0-अनुक्रमित) पर अतिरिक्त ब्लॉक के साथ एक उदाहरण का टुकड़ा 0,4,7,9,10:
XXXXXXXXXXX
X X X XX
टुकड़ा को एक 01
द्विआधारी अनुक्रम के रूप में दर्शाया जा सकता है i
, जिसमें i
वें स्थान पर एक ब्लॉक होता है । ऊपरी उदाहरण के रूप में प्रतिनिधित्व किया जा सकता है 10001001011
।
हम एक दूसरे को लंबवत रूप से फ़्लिप करके दो टुकड़े रख सकते हैं (और शायद इसे क्षैतिज रूप से भी फ़्लिप कर रहे हैं)। फ्लिप (ओं) के बाद हम एक संरेखण पा सकते हैं जहां दो टुकड़ों को एक साथ रखा जा सकता है 3 की ऊंचाई।
Two example pieces:
XXXXXXXXXXX XXXXXXXX
X X X XX XXX
Second piece flipped vertically and horizontally:
XXXXXXXXXXX
X X X XX
XXX
XXXXXXXX
Pieces put together:
XXXXXXXXXXX
XXXXX X XX
XXXXXXXX
उदाहरण में कुल 12 ब्लॉकों की चौड़ाई थी।
आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो दो टुकड़ों का प्रतिनिधित्व करने वाले इनपुट के रूप में दो स्ट्रिंग प्राप्त करता है और पूर्णांक को 3 की ऊंचाई के साथ न्यूनतम प्राप्त करने योग्य चौड़ाई को आउटपुट करता है ।
इनपुट
- दो तार पात्रों से मिलकर
0
और1
। - दोनों तारों में कम से कम एक वर्ण होता है।
- आप दो स्ट्रिंग्स प्राप्त करना चुन सकते हैं जैसे कि एक सिंगल स्पेस द्वारा ज्वाइन किया जाता है।
उत्पादन
- एक एकल सकारात्मक पूर्णांक, न्यूनतम कुल चौड़ाई प्राप्त करने योग्य।
उदाहरण
0 0 => 1
1 0 => 1
1 1 => 2
11 111 => 5
010 0110 => 5
0010 111 => 5
00010 11011 => 6
01010 10101 => 5
1001 100001 => 6
1110001100001 1100100101 => 14
001101010000101 100010110000 => 16
0010110111100 001011010101001000000 => 21
0010110111100 001011010101001001100 => 28
100010100100111101 11100101100010100100000001 => 27
0010 10111 => 5
0100 10111 => 5
0010 11101 => 5
0100 11101 => 5
10111 0010 => 5
10111 0100 => 5
11101 0010 => 5
11101 0100 => 5
यह कोड गोल्फ है इसलिए सबसे छोटी प्रविष्टि जीतती है।