การเปิดเผยของซอมบี้ได้มาแล้วและโลกก็จะสิ้นสุดลง ทันใดนั้นมีคนค้นพบสูตรที่ใช้เวลาชั่วโมงนาทีและวันปัจจุบันและแยกโน้ตที่สมบูรณ์แบบเพื่อเล่นบนเปียโนที่จะฆ่าซอมบี้ทุกตัวที่ได้ยินทันที น่าเสียดายที่มีผู้เล่นเปียโนเพียงคนเดียวที่เหลืออยู่ในโลกนี้และเขาลืมวิธีการอ่านโน้ต แต่เขาก็ยังรู้วิธีอ่านแผ่นโน้ตเพลง แน่นอนว่านี่เป็นสิ่งที่ไวต่อเวลามากดังนั้นจึงเป็นเรื่องธรรมดาที่คอมพิวเตอร์จะใช้คอมพิวเตอร์ 1
ความท้าทายของคุณคือการจดบันทึกเช่นG
และส่งออกบันทึกย่อที่วางไว้บนเจ้าหน้าที่ (ในเสียงแหลมโน๊ต) เช่นนี้:
-----
-----
|
---|-
|
--O--
-----
รายละเอียด:
- คุณต้องส่งออกพนักงานของสายการสลับของ
-----
(5 ขีดกลาง) และบรรทัดว่าง จะมี-----
ทั้งหมด5 s หมายเหตุจะต้องซ้อนทับทับบนพนักงานนี้ - อินพุตจะระบุตำแหน่งของบันทึกย่อ อินพุตจะเป็น:
- ตัวเลือก
H
หรือL
ระบุ "สูง" หรือ "ต่ำ" - จดหมายจาก
A
ถึงG
โดยระบุระดับเสียง - ตัวเลือก
#
หรือb
ระบุคมหรือแบน
- ตัวเลือก
- "note" ถูกกำหนดเป็น:
- หนึ่ง
O
(เมืองหลวง O) จัดอยู่ตรงกลางของพนักงานซึ่งอยู่ในสถานที่ของบันทึก (บรรทัดบนสุดคือHF
(สูง F) และบรรทัดล่างคือE
(ปกติ E)) - สาม
|
s (แถบแนวตั้ง), ก้านซึ่งจะเป็น:- หนึ่งช่องว่างทางด้านซ้ายของบันทึกย่อและไปด้านล่าง (เริ่มต้นหนึ่งช่องว่างด้านล่างของบันทึกย่อ) หากบันทึกย่ออยู่ในบรรทัดกลาง (
B
) หรือสูงกว่าหรือ - หนึ่งช่องทางด้านขวาของบันทึกย่อและขึ้นไปข้างบน (เริ่มต้นหนึ่งช่องว่างเหนือบันทึก) หากโน้ตอยู่ต่ำกว่าเส้นกลาง
- หนึ่งช่องว่างทางด้านซ้ายของบันทึกย่อและไปด้านล่าง (เริ่มต้นหนึ่งช่องว่างด้านล่างของบันทึกย่อ) หากบันทึกย่ออยู่ในบรรทัดกลาง (
- A
#
หรือb
หนึ่งช่องว่างทางด้านซ้ายของบันทึกย่อหากระบุไว้ในอินพุต
- หนึ่ง
- ต้องเพิ่มบรรทัดบัญชีแยกประเภทหากบันทึกย่อสูงหรือต่ำเกินไป บรรทัดเหล่านี้จะ
---
(กว้าง 3 ขีดเท่านั้นเมื่อเทียบกับ 5) และจะปรากฏเฉพาะเมื่อโน้ตอยู่บนหรือสูงกว่า / ต่ำกว่า (สำหรับบรรทัดบัญชีแยกประเภทด้านบน / ล่างตามลำดับ) บรรทัดบัญชีแยกประเภท - ช่องว่างภายนอกอาจถูกวางไว้ทุกที่ที่คุณต้องการ ตัวอย่างเช่นคุณสามารถทำให้บรรทัดว่างมีช่องว่างหรือมีช่องว่างหลังบรรทัดบัญชีแยกประเภทถ้ามันช่วยให้คุณบันทึกอักขระใด ๆ
นี่คือการสร้างภาพเพื่อทำความเข้าใจข้อมูลจำเพาะได้ง่ายขึ้นด้วยชื่อโน้ตทั้งหมดที่อยู่ถัดจากบรรทัด
HB
--- HA
HG
----- HF
HE
----- HD
HC
----- B
A
----- G
F
----- E
D
--- C
LB
--- LA
LG
--- LF
... (bottom cut off for brevity, you get the idea anyway)
นี่คือตัวอย่างเพิ่มเติมที่คุณสามารถใช้ทดสอบโปรแกรมของคุณ:
การป้อนข้อมูล: HG#
#O
-|---
|
-|---
-----
-----
-----
การป้อนข้อมูล: LAb
-----
-----
-----
-----
-----
|
--|
|
bO-
การป้อนข้อมูล: HB
O
|--
|
-|---
-----
-----
-----
-----
การป้อนข้อมูล: C
-----
-----
-----
-----
|
---|-
|
-O-
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ!
1: การแสดงออกที่สมจริงที่สุด evar! :-P
#
หรือb
อยู่ทางด้านขวาของโน้ตแทนที่จะอยู่ทางซ้าย มันเป็นสิ่งที่จำเป็นจริง ๆ ?