आपका कार्य इनपुट (फ़ंक्शन या प्रोग्राम में) के रूप में वर्णों (संगीत) का एक क्रम लेना है, और संगीत को प्रिंट करना (या वापस करना) क्योंकि यह एक संगीत बॉक्स में दिखाई देगा।
आपको केवल वर्ण ABCDEFG.()
इनपुट के रूप में प्राप्त होंगे , और इनपुट कभी खाली नहीं होगा। आप लोअरकेस में अक्षर भी प्राप्त कर सकते हैं, यदि आप इसके लिए इच्छा रखते हैं
यह एक खाली संगीत बॉक्स है, जिसकी लंबाई 3 है:
.......
.......
.......
जैसा कि आप देख सकते हैं, लाइनें 7 वर्ण लंबी हैं, और चूंकि संगीत बॉक्स की लंबाई 3 है, हमारे पास 3 लाइनें हैं। यहां केवल .
एस हैं, चूंकि संगीत बॉक्स खाली है। चलो इसमें कुछ संगीत डालते हैं!
सबसे पहले, हम संगीत बॉक्स बनाते हैं। इस उदाहरण में, इनपुट होगा CDAG.DAG
।
लंबाई CDAG.DAG
8 है, इसलिए हमें लंबाई 8 के संगीत बॉक्स की आवश्यकता है:
.......
.......
.......
.......
.......
.......
.......
.......
फिर, हम इनपुट को पढ़ते हैं, एक बार में एक वर्ण, और O
अपने संबंधित स्थान पर रखते हैं।
पहला वर्ण है C
, और प्रत्येक नोट का स्थान इसके बराबर है (मैंने स्पष्टता के लिए रिक्त स्थान जोड़े):
A B C D E F G
. . . . . . .
. . . . . . .
(and so on)
यदि इनपुट चरित्र ए है .
, तो हम सिर्फ एक खाली लाइन प्रिंट करते हैं.......
तो, C
साथ 3 अक्षर होगा। आइए इसे अपने संगीत बॉक्स में सबसे ऊपर रखें:
..O....
.......
.......
.......
.......
.......
.......
.......
हम सभी अन्य वर्णों के लिए इस प्रक्रिया को दोहराएंगे (कोष्ठक में पाठ सिर्फ आपको नोट दिखाने के लिए है, आपको इसका उत्पादन नहीं करना चाहिए):
..O.... (C)
...O... (D)
O...... (A)
......O (G)
....... (.)
...O... (D)
O...... (A)
......O (G)
संगीत बक्से कैसे काम करते हैं, इस वजह से, अगर हम अपने आउटपुट में O
, .
और <insert newline here>
जैसे कि किसी स्पेस का उपयोग करते हैं, तो यह सही संगीत नहीं चलेगा!
यह एक राग है:
(ACE)
यह राग हमें नोट्स बजाने का निर्देश दे रहा है A
, C
और E
साथ ही साथ। .
एक राग में कभी विराम (अर्थात ) नहीं होगा ।
यह इस प्रकार लिखा जाएगा:
O.O.O...
और यह संगीत में दिखाई दे सकता है: B(ACE)D
आप एक राग में एक राग प्राप्त नहीं करेंगे, अर्थात यह मान्य नहीं होगा: (AB(CD)EF)
या यह: A(B())
और राग खाली नहीं होगा, अर्थात यह मान्य नहीं होगा:A()B
आपको अवैध इनपुट कभी नहीं मिलेगा।
उदाहरण:
B(ACE)D
.O.....
O.O.O..
...O...
B
.O.....
GGABC
......O
......O
O......
.O.....
..O....
...
.......
.......
.......
A..F.C(DA).
O......
.......
.......
.....O.
.......
..O....
O..O...
.......
.(ABCDEF)
.......
OOOOOO.
आउटपुट पर अनुगामी / अग्रणी व्हाट्सएप की अनुमति है।
जैसा कि यह कोड-गोल्फ है , सबसे छोटा कोड जीतता है!
()
दो बार शामिल कर सकते हैं (जैसेAB(CD)E(FG)
:) ??