Lý lịch
Các lập trình viên LISP đã chiếm lĩnh thế giới! Dấu ngoặc đơn đã được tuyên bố là ký tự thiêng liêng và từ giờ trở đi, chúng chỉ có thể được sử dụng trong các chương trình LISP. Người ta đã quyết định rằng dấu ngoặc đơn trong tác phẩm văn học sẽ được thay thế bằng chú thích và công việc của bạn là tự động hóa điều này cho văn bản Markdown đơn giản hóa.
Đầu vào
Đầu vào của bạn là một chuỗi chứa các ký tự ASCII chữ cái, dấu cách và các ký tự đặc biệt ,.!?()
. Nó sẽ không chứa dòng mới hoặc chữ số. Các dấu ngoặc đơn sẽ được khớp chính xác.
Đầu ra
Bạn sẽ chuyển đổi từng cặp dấu ngoặc đơn phù hợp trong chuỗi đầu vào thành chú thích. Điều này xảy ra như sau:
- Thay thế cặp dấu ngoặc đơn phù hợp đầu tiên và chuỗi con giữa chúng bằng một số chạy bắt đầu từ
1
, được bao bọc giữa các thẻ Markdown<sup>
và</sup>
. - Nối vào cuối chuỗi
- hai dòng mới,
- thẻ Markdown
<sub>
, - số từ bước 1,
- một không gian,
- chuỗi con giữa các dấu ngoặc đơn và
- thẻ đóng
</sub>
, theo thứ tự này.
- Nếu vẫn còn dấu ngoặc trong chuỗi, chuyển sang bước 1.
Đầu ra của bạn là chuỗi kết quả, có thể với một dòng mới. Bạn không phải thực hiện thuật toán chính xác này, miễn là đầu ra của bạn là chính xác. Lưu ý rằng có thể có dấu ngoặc đơn lồng nhau; trong trường hợp đó, chúng ta sẽ có các chú thích có chứa các tham chiếu đến các chú thích khác. Chuỗi con giữa các dấu ngoặc đơn cũng có thể trống. Xem các trường hợp thử nghiệm dưới đây để biết ví dụ.
Quy tắc và chấm điểm
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng. Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Nếu ngôn ngữ của bạn không hỗ trợ số thập phân ( ho Retina ho ), bạn có thể đưa ra các số chú thích ở một cơ sở khác, bao gồm nhị phân hoặc đơn nguyên; tuy nhiên, sử dụng số đơn nguyên áp đặt mức phạt + 20% .
Các trường hợp thử nghiệm
Đầu vào:
This input contains no parentheses.
Đầu ra:
This input contains no parentheses.
Đầu vào:
This has (some) parentheses (but not so many).
Đầu ra:
This has <sup>1</sup> parentheses <sup>2</sup>.
<sub>1 some</sub>
<sub>2 but not so many</sub>
Đầu vào:
This has (nested (deeply (or highly?) nested)) parentheses (and several groups).
Đầu ra:
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>
Đầu vào:
Hmm()(()(,)) a()((trt)(v( (((((wut)))))(X)(Y)(Z) )!?!?!?!))oooooooo(oooo)oooo
Đầu ra:
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>
Lưu ý các dòng trống giữa các chú thích.
foo (bar)\nfoot (note)
gì?