"YMCA" ist ein populärer Disco-Song der Village People, der einen bekannten Tanz hat . Schreiben Sie das kürzeste Programm, um die mit dem Chorus des Songs synchronisierten Großbuchstaben "Y", "M", "C" und "A" auszugeben.
In der Regel wird in jeder Zeile, die an die Standardausgabe gesendet wird, ein Buchstabe eingefügt. Dies dient in erster Linie dazu, Programme zu vereinfachen, die der Ausgabepufferung der C-Standardbibliothek unterliegen (durch Drucken einer neuen Zeile wird der Ausgabepuffer geleert). Sie können also einige oder alle dieser neuen Zeilen weglassen, wenn dies zu einer Verkürzung Ihres Programms führen würde.
Ihr Programm, das gleichzeitig mit der Musik gestartet wird, muss nach dem Start innerhalb von jeweils 0,125 s den Buchstaben "Y" ausgeben (in Sekunden; ich habe dies aus dem auf YouTube geposteten Musikvideo ermittelt).
45.766 49.611 60.889
64.661 109.816 113.591
124.810 128.687 173.830
177.620 188.950 192.724
204.013 207.739 219.057
Die Buchstaben "M", "C" und "A" kommen jeweils 0,930 s, 1,395 s und 1,628 s nach jedem "Y". Zu Testzwecken werden diese relativen Zeiten in absolute Zeiten umgewandelt, indem sie zur Zeit des vorhergehenden "Y" addiert werden.
Ich habe ein Testprogramm und ein entsprechendes Beispielprogramm in C geschrieben, in dem angenommen wird, dass jedem Buchstaben eine neue Zeile folgt (obwohl dies keine Wettbewerbsregel ist). Es ist für Linux geschrieben und funktioniert nicht unter Windows ohne Cygwin. Wenn du deine Einsendung nicht mit dem Testprogramm testen kannst, überprüfe deine Einsendung zumindest anhand des YouTube-Videos .
Wenn für Ihre Übermittlung eine spezielle Befehlszeilenoption erforderlich ist, um ordnungsgemäß zu funktionieren, wird diese Befehlszeilenoption bei der Berechnung Ihrer Punktzahl berücksichtigt. Die Startzeit eines Interpreters zählt jedoch nicht für Sie, und das Testprogramm kann bei Bedarf geändert werden.
Obwohl ich bezweifle, dass es eine solche gibt, muss ich sagen, dass die Verwendung einer speziell für diese Aufgabe entwickelten Programmiersprachenfunktion oder Bibliothek verboten ist.