Apokalipsa zombie nadeszła i świat się kończy. Nagle ktoś odkrywa formułę, która zajmuje aktualną godzinę, minutę i dzień, i wyrzuca idealną nutę do gry na pianinie, która natychmiast zabija każdego zombie, który ją słyszy. Niestety na świecie pozostał tylko jeden pianista, który zapomniał czytać nuty, ale nadal umie czytać nuty. Oczywiście jest to kwestia bardzo czasochłonna, więc wydaje się naturalne, że komputer to robi. 1
Twoim wyzwaniem jest zanotowanie G
i wysłanie notatki umieszczonej na pięciolinii (w kluczu wiolinowym) w następujący sposób:
-----
-----
|
---|-
|
--O--
-----
Specyfikacja:
- Musisz wypisać pięciolinię naprzemiennych linii
-----
(5 myślników) i pustej linii. Łącznie będzie 5-----
s. Notatkę należy nałożyć na ten pięciolinię. - Dane wejściowe określą lokalizację notatki. Dane wejściowe będą:
- opcjonalny
H
lubL
określający „wysoki” lub „niski” - list od
A
doG
, określający wysokość - opcjonalny
#
lubb
, określający ostry lub płaski.
- opcjonalny
- „Uwaga” jest zdefiniowana jako:
- Jedna
O
(duża litera O) wyrównana do środka pięciolinii, która znajduje się w miejscu nuty. (Górna linia toHF
(wysokie F), a dolna linia toE
(normalne E).) - Trzy
|
s (pionowe paski), trzon, który będzie:- jedno pole na lewo od nuty i schodzenie w dół (zaczynając o jedno pole poniżej nuty), jeśli nuta znajduje się w środkowej linii (
B
) lub powyżej, lub - jedno pole po prawej stronie nuty i idące w górę (zaczynając o jedno pole powyżej nuty), jeśli nuta znajduje się poniżej środkowej linii.
- jedno pole na lewo od nuty i schodzenie w dół (zaczynając o jedno pole poniżej nuty), jeśli nuta znajduje się w środkowej linii (
- A
#
lubb
jedna spacja bezpośrednio na lewo od nuty, jeśli podano ją na wejściu.
- Jedna
- Wiersze księgi muszą zostać dodane, jeśli nuta jest zbyt wysoka lub niska. Te linie będą
---
(tylko 3 kreski szerokości, w przeciwieństwie do 5) i pojawią się tylko wtedy, gdy nuta jest na lub powyżej / poniżej (odpowiednio dla górnych / dolnych linii księgi) linii księgi. - Przestrzenie zewnętrzne można umieszczać w dowolnym miejscu; na przykład możesz sprawić, że puste linie będą miały spacje lub spację po liniach księgi, jeśli pomoże to w zapisaniu dowolnych znaków.
Oto wizualizacja umożliwiająca łatwiejsze zrozumienie specyfikacji wraz ze wszystkimi nazwami nut obok wierszy:
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)
Oto kilka przykładów, które możesz wykorzystać do przetestowania swojego programu:
Wejście: HG#
#O
-|---
|
-|---
-----
-----
-----
Wejście: LAb
-----
-----
-----
-----
-----
|
--|
|
bO-
Wejście: HB
O
|--
|
-|---
-----
-----
-----
-----
Wejście: C
-----
-----
-----
-----
|
---|-
|
-O-
To jest golf golfowy , więc wygra najkrótszy kod w bajtach!
1: najbardziej realistyczny evar ekspozycji! :-P
#
lubb
po prawej stronie nuty niż po lewej; czy to naprawdę jest wymagane?