งานของคุณคือการใช้ลำดับของตัวละคร (เพลง) เป็นอินพุต (ในฟังก์ชั่นหรือโปรแกรม) และพิมพ์ (หรือส่งคืน) เพลงตามที่ดูเหมือนในกล่องดนตรี
คุณจะได้รับเฉพาะอักขระABCDEFG.()
เป็นอินพุตและอินพุตจะไม่ว่างเปล่า คุณอาจได้รับจดหมายเป็นตัวพิมพ์เล็กหากคุณต้องการ
นี่คือกล่องดนตรีเปล่าที่มีความยาว 3:
.......
.......
.......
อย่างที่คุณเห็นบรรทัดนั้นมีความยาว 7 ตัวอักษรและเนื่องจากความยาวของกล่องดนตรีคือ 3 เราจึงมี 3 บรรทัด มีเพียง.
ที่นี่เนื่องจากกล่องดนตรีว่างเปล่า มาฟังเพลงกัน!
อันดับแรกเราสร้างกล่องดนตรี CDAG.DAG
ในตัวอย่างนี้การป้อนข้อมูลที่จะเป็น
ความยาวเท่ากับCDAG.DAG
8 ดังนั้นเราต้องมีกล่องดนตรีที่มีความยาว 8:
.......
.......
.......
.......
.......
.......
.......
.......
จากนั้นเราอ่านอินพุตหนึ่งตัวอักษรในแต่ละครั้งและวางO
ตำแหน่งที่เกี่ยวข้อง
ตัวอักษรตัวแรกคือC
และตำแหน่งของแต่ละโน้ตนั้นเทียบเท่ากับสิ่งนี้ (ฉันได้เพิ่มช่องว่างเพื่อความชัดเจน):
A B C D E F G
. . . . . . .
. . . . . . .
(and so on)
หากอักขระอินพุตเป็น a .
เราจะพิมพ์บรรทัดว่าง.......
ดังนั้นC
ตัวละครที่สามจะเป็นไปตาม ลองใส่ในกล่องดนตรีของเราที่ด้านบน:
..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)
:)?