pannenkoek2012 का लक्ष्य सुपर मारियो 64 को ए बटन के जितना संभव हो उतना कम प्रेस के साथ पूरा करना है , जिससे मारियो कूदता है। प्रत्येक "ए प्रेस" में तीन भाग होते हैं:
- बटन दबा रहा है
- किसी भी लम्बाई के लिए इसे धारण करना
- इसे जारी करना
एक महान स्पष्टीकरण के लिए इस वीडियो (1:15 - 3:23) को देखें जिसमें उपरोक्त छवि शामिल है। (हालांकि, यह चुनौती आधा-ए-प्रेस शब्दावली का उपयोग नहीं करेगी और उन बाधाओं को प्रस्तुत करेगी जिन्हें ए जारी करने की आवश्यकता है)
कार्य:
प्रेस (पी), होल्डिंग (एच), या ए (बटन) को जारी करने की आवश्यकता वाले बाधाओं के अनुक्रम को देखते हुए, दिए गए क्रम में उन्हें दूर करने के लिए आवश्यक प्रेस की सबसे छोटी संख्या का उत्पादन। प्रारंभ में A बटन नहीं है।
औपचारिक रूप से कहा गया है: वर्णों का एक स्ट्रिंग S दिया PHR
जाता है, (PH*R)*
उस स्ट्रिंग के रूप पर विचार करें जिसमें S बाद में हो, और P
ऐसी स्ट्रिंग में सबसे छोटी संख्या संभव है । या, वैकल्पिक रूप से, उस रूप की सबसे छोटी संख्या ज्ञात करें P?H*R?
जिसे S में विभाजित किया जा सकता है।
उदाहरण
आइए इनपुट को देखें RHRPHHHR
। ए बटन शुरू नहीं होता है, इसलिए प्रारंभिक बाधा पर काबू पाने के R
लिए बटन को दबाया जाना चाहिए और फिर जारी किया जाना चाहिए (# 1 दबाएं)। अगला हमें बटन पकड़ना होगा H
, जिसके लिए फिर से पहले इसे दबाया जाना चाहिए (# 2 दबाएं)। फिर, इसके R
बाद इसे संतुष्ट करने के लिए बाद में जारी किया जा सकता है। अंत में, शेष PHHHR
को एक प्रेस (प्रेस # 3) द्वारा संतुष्ट किया जा सकता है , उसके बाद पकड़े HHH
और जारी किया जा सकता है R
। तो, आउटपुट काउंट 3 है।
इसे देखने का दूसरा तरीका यह है कि हम इनपुट स्ट्रिंग को प्रपत्र के 3 भागों में विभाजित कर सकते हैं PHH..HHR
जहाँ अक्षरों को छोड़ा जा सकता है।
R
HR
PHHHR
इनपुट प्रारूप
इनपुट आपकी पसंद के रूप में प्रेस, होल्ड और रिलीज़ करने वाले तत्वों की एक सूची या स्ट्रिंग होगी:
P, H, R
p, h, r
1, 2, 3
0, 1, 2
दिए गए क्रम में मिलान किया गया। इनपुट खाली नहीं होगा।
परीक्षण के मामलों:
P 1
H 1
R 1
HP 2
RHP 3
HHR 1
PHRH 2
RHRPHHHR 3
HHHHHH 1
PPRRHHPP 6
HPPRHRPRHPPRHPPHRP 12
PRHRHPHHPRRRHPPRHHPPRRRHRHPRPHPRPRHHRPPPRHPRP 28
लीडरबोर्ड: