पृष्ठभूमि
LISP प्रोग्रामर दुनिया भर में ले लिया है! कोष्ठक को पवित्र चरित्र के रूप में घोषित किया गया है, और अब से, उनका उपयोग केवल एलआईएसपी कार्यक्रमों में किया जा सकता है। यह निर्णय लिया गया है कि साहित्यिक रचनाओं में कोष्ठक को फुटनोट द्वारा प्रतिस्थापित किया जाएगा, और सरलीकृत मार्केड पाठ के लिए इसे स्वचालित करना आपका काम है।
इनपुट
आपका इनपुट एक एकल स्ट्रिंग है जिसमें अल्फाबेटिक ASCII वर्ण, रिक्त स्थान और विशेष वर्ण हैं ,.!?()
। इसमें नए अंक या अंक नहीं होंगे। कोष्ठक सही ढंग से मिलान किया जाएगा।
उत्पादन
आप इनपुट स्ट्रिंग में प्रत्येक कोष्ठक के मिलान जोड़े को फुटनोट में बदल देंगे। यह इस प्रकार होता है:
- एक चल संख्या से कोष्ठक के पहले मिलान जोड़ी और उन दोनों के बीच-स्ट्रिंग की जगह है कि से शुरू होता है
1
, Markdown टैग के बीच लिपटे<sup>
और</sup>
। - स्ट्रिंग के अंत में संलग्न करें
- दो नए समाचार,
- मार्कडाउन टैग
<sub>
, - चरण 1 से संख्या,
- एक स्थान,
- कोष्ठक के बीच प्रतिस्थापन, और
</sub>
इस क्रम में समापन टैग ।
- यदि स्ट्रिंग में अभी भी कोष्ठक बचे हैं, तो चरण 1 पर जाएँ।
आपका आउटपुट परिणामी स्ट्रिंग है, संभवतः एक अनुगामी न्यूलाइन के साथ। जब तक आपका आउटपुट सही नहीं हो जाता, आपको इस सटीक एल्गोरिदम को लागू करने की आवश्यकता नहीं है। ध्यान दें कि नेस्टेड कोष्ठक हो सकते हैं; उस स्थिति में, हमारे पास अन्य फुटनोट्स के संदर्भ वाले फुटनोट होंगे। कोष्ठक के बीच का विकल्प भी खाली हो सकता है। उदाहरण के लिए नीचे दिए गए परीक्षण मामलों को देखें।
नियम और स्कोरिंग
आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है।
यदि आपकी भाषा मूल रूप से दशमलव संख्याओं ( खाँसी रेटिना खाँसी ) का समर्थन नहीं करती है , तो आप फ़ुटनोट संख्या को दूसरे आधार में दे सकते हैं, जिसमें बाइनरी या यूरीरी शामिल है; हालांकि, यूनीरी नंबरों का उपयोग करने पर + 20% जुर्माना लगता है ।
परीक्षण के मामलों
इनपुट:
This input contains no parentheses.
आउटपुट:
This input contains no parentheses.
इनपुट:
This has (some) parentheses (but not so many).
आउटपुट:
This has <sup>1</sup> parentheses <sup>2</sup>.
<sub>1 some</sub>
<sub>2 but not so many</sub>
इनपुट:
This has (nested (deeply (or highly?) nested)) parentheses (and several groups).
आउटपुट:
This has <sup>1</sup> parentheses <sup>2</sup>.
<sub>1 nested <sup>3</sup></sub>
<sub>2 and several groups</sub>
<sub>3 deeply <sup>4</sup> nested</sub>
<sub>4 or highly?</sub>
इनपुट:
Hmm()(()(,)) a()((trt)(v( (((((wut)))))(X)(Y)(Z) )!?!?!?!))oooooooo(oooo)oooo
आउटपुट:
Hmm<sup>1</sup><sup>2</sup> a<sup>3</sup><sup>4</sup>oooooooo<sup>5</sup>oooo
<sub>1 </sub>
<sub>2 <sup>6</sup><sup>7</sup></sub>
<sub>3 </sub>
<sub>4 <sup>8</sup><sup>9</sup></sub>
<sub>5 oooo</sub>
<sub>6 </sub>
<sub>7 ,</sub>
<sub>8 trt</sub>
<sub>9 v<sup>10</sup>!?!?!?!</sub>
<sub>10 <sup>11</sup><sup>12</sup><sup>13</sup><sup>14</sup> </sub>
<sub>11 <sup>15</sup></sub>
<sub>12 X</sub>
<sub>13 Y</sub>
<sub>14 Z</sub>
<sub>15 <sup>16</sup></sub>
<sub>16 <sup>17</sup></sub>
<sub>17 <sup>18</sup></sub>
<sub>18 wut</sub>
फ़ुटनोट्स के बीच की खाली लाइनों पर ध्यान दें।
foo (bar)\nfoot (note)
?