Nhiệm vụ của bạn là lấy một chuỗi các ký tự (âm nhạc) làm đầu vào (trong một chức năng hoặc chương trình) và in (hoặc trả lại) âm nhạc như trong hộp nhạc.
Bạn sẽ chỉ nhận được các ký tự ABCDEFG.()
làm đầu vào và đầu vào sẽ không bao giờ trống. Bạn cũng có thể nhận được các chữ cái viết thường, nếu bạn muốn cho nó.
Đây là một hộp nhạc trống, có độ dài 3:
.......
.......
.......
Như bạn có thể thấy, các dòng có độ dài 7 ký tự và vì độ dài của hộp nhạc là 3, chúng tôi có 3 dòng. Chỉ có .
s ở đây, vì hộp nhạc trống. Hãy đặt một vài bản nhạc vào đó!
Đầu tiên, chúng tôi tạo ra hộp nhạc. Trong ví dụ này, đầu vào sẽ là CDAG.DAG
.
Độ dài CDAG.DAG
là 8, vì vậy chúng tôi cần một hộp nhạc có độ dài 8:
.......
.......
.......
.......
.......
.......
.......
.......
Sau đó, chúng tôi đọc đầu vào, mỗi lần một ký tự và đặt một O
vị trí tương ứng.
Ký tự đầu tiên là C
và vị trí của mỗi ghi chú tương đương với điều này (tôi đã thêm khoảng trắng cho rõ ràng):
A B C D E F G
. . . . . . .
. . . . . . .
(and so on)
Nếu ký tự đầu vào là a .
, thì chúng ta chỉ cần in một dòng trống.......
Vì vậy, C
sẽ là nhân vật thứ 3 cùng. Hãy đặt nó trong hộp âm nhạc của chúng tôi ở đầu:
..O....
.......
.......
.......
.......
.......
.......
.......
Chúng tôi sẽ lặp lại quy trình này cho tất cả các ký tự khác (văn bản trong ngoặc chỉ để hiển thị cho bạn ghi chú, bạn không nên xuất nó):
..O.... (C)
...O... (D)
O...... (A)
......O (G)
....... (.)
...O... (D)
O...... (A)
......O (G)
Do cách hộp âm nhạc hoạt động, nếu chúng tôi sử dụng một ký tự khác O
, .
và <insert newline here>
, chẳng hạn như khoảng trắng, trong đầu ra của chúng tôi, thì nó sẽ không phát đúng nhạc!
Đây là một hợp âm:
(ACE)
Hợp âm này được hướng dẫn chúng tôi để chơi các ghi chú A
, C
và E
cùng một lúc. Sẽ không bao giờ có một khoảng dừng (tức là a .
) trong một hợp âm.
Đây là cách nó sẽ được viết:
O.O.O...
Và đây là cách nó có thể xuất hiện trong âm nhạc: B(ACE)D
Bạn sẽ không bao giờ nhận được hợp âm trong hợp âm, nghĩa là điều này sẽ không hợp lệ: (AB(CD)EF)
hoặc điều này: A(B())
và hợp âm sẽ không trống, tức là điều này sẽ không hợp lệ:A()B
Bạn sẽ không bao giờ nhận được một đầu vào không hợp lệ.
Ví dụ:
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.
Trailing / khoảng trắng hàng đầu trên đầu ra được cho phép.
Vì đây là môn đánh gôn , mã ngắn nhất sẽ thắng!
()
hai lần (ví dụAB(CD)E(FG)
:) ??