「YMCA」は、Village Peopleによる有名なディスコソングで、よく知られたダンスを持っています。曲のコーラスに同期した大文字の「Y」、「M」、「C」、「A」を出力する最短のプログラムを作成します。
通常、標準出力に送信される各行には1文字が入ります。これは主に、C標準ライブラリの出力バッファリングの対象となるプログラムを簡素化するためです(改行を出力すると出力バッファがフラッシュされます)。
音楽と同時に開始されるプログラムは、開始後これらの各時間の0.125秒以内に文字「Y」を出力する必要があります(秒単位。YouTubeに投稿されたミュージックビデオから決定します)。
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
文字「M」、「C」、および「A」は、各「Y」の後にそれぞれ0.930秒、1.395秒、および1.628秒が続きます。テストのために、これらの相対時間は、先行する「Y」の時間に加算することにより絶対時間に変換されます。
私はテストプログラムとそれに対応するサンプルプログラムをCで書きました。各文字の後に改行が続くと想定しています(ただし、これは競合の規則ではありません)。Linux用に書かれており、Cygwinを使用しないとWindowsで動作しません。テストプログラムを使用して提出物をテストできない場合は、少なくともYouTubeビデオに対して提出物を確認してください。
提出が適切に動作するために特別なコマンドラインオプションを必要とする場合、スコアの計算時にそのコマンドラインオプションがカウントされます。ただし、インタープリターの起動時間は考慮されないため、必要に応じてテストプログラムを変更して対応することができます。
存在するかどうかは疑問ですが、このタスク専用に設計されたプログラミング言語関数またはライブラリの使用は禁止されていると言わざるを得ません。