พื้นหลัง
โปรแกรมเมอร์ LISP ได้ยึดครองโลก! วงเล็บถูกประกาศเป็นอักขระศักดิ์สิทธิ์และจากนี้ไปสามารถใช้ในโปรแกรม LISP เท่านั้น มีการตัดสินใจแล้วว่าวงเล็บในงานวรรณกรรมจะถูกแทนที่ด้วยเชิงอรรถและเป็นงานของคุณที่จะทำให้สิ่งนี้เป็นข้อความ Markdown ที่ง่ายขึ้น
อินพุต
ข้อมูลของคุณมีสายเดียวที่มีตัวอักษร ASCII ,.!?()
ช่องว่างและอักขระพิเศษ มันจะไม่มีการขึ้นบรรทัดใหม่หรือตัวเลข วงเล็บจะถูกจับคู่อย่างถูกต้อง
เอาท์พุต
คุณจะแปลงวงเล็บที่จับคู่แต่ละคู่ในสตริงอินพุตให้เป็นเชิงอรรถ สิ่งนี้เกิดขึ้นดังนี้:
- แทนที่คู่จับคู่แรกของวงเล็บและย่อยระหว่างพวกเขาเป็นจำนวนมากโดยการทำงานที่เริ่มต้นจาก
1
ห่อระหว่างแท็ก Markdown และ<sup>
</sup>
- ต่อท้ายส่วนท้ายของสตริง
- สองบรรทัดใหม่
- แท็ก Markdown
<sub>
, - หมายเลขจากขั้นตอนที่ 1
- พื้นที่
- สตริงย่อยระหว่างวงเล็บและ
- แท็กปิด
</sub>
ตามลำดับนี้
- หากยังมีวงเล็บอยู่ในสตริงให้ไปที่ขั้นตอนที่ 1
เอาต์พุตของคุณคือสตริงผลลัพธ์ซึ่งอาจมีการขึ้นบรรทัดใหม่ คุณไม่ต้องใช้อัลกอริทึมที่แน่นอนนี้ตราบใดที่ผลลัพธ์ของคุณถูกต้อง โปรดทราบว่าอาจมีวงเล็บซ้อนกันอยู่ ในกรณีนี้เราจะมีเชิงอรรถที่มีการอ้างอิงถึงเชิงอรรถอื่น ๆ ซับสตริงระหว่างวงเล็บอาจว่างเปล่า ดูกรณีทดสอบด้านล่างสำหรับตัวอย่าง
กฎและเกณฑ์การให้คะแนน
คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต
ถ้าภาษาของคุณไม่สนับสนุน natively ตัวเลขทศนิยม ( ไอ Retina ไอ ) คุณอาจจะให้หมายเลขเชิงอรรถในฐานอื่นรวมทั้งไบนารีหรือเอก; แต่ใช้ตัวเลขเอกเรียกเก็บโทษที่ + 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)
อะไร