私の高校、および他の多くの人は、回転ブロックスケジュールと呼ばれるタイプのスケジュールを実装しています。これは、人々が8つのクラスを受講する方法ですが、1日に6つの期間があります。
ブロックスケジュールには、繰り返し繰り返される4日間があり、実際の曜日とは関係ありません。それぞれに番号が割り当てられ[1-4]
ます。
スケジュールが動作する方法は、すべてのあなたの朝のクラス、期間をリストということです1-4
:[1, 2, 3, 4]
。これは単にリストを回転させ、あなたの最初の日のスケジュール、または1日目の日の残りの部分であります:[2, 3, 4, 1]
、[3, 4, 1, 2]
、[4, 1, 2, 3]
。
ただし、午前中の最後の期間は「ドロップ」され、その日の教師は表示されません。したがって、日は以下のとおりです[1, 2, 3]
、[2, 3, 4]
、[3, 4, 1]
、[4, 1, 2]
。
午後は、ピリオドを使用していることを除けば、同じである5-8
代わりに:[5, 6, 7]
、[6, 7, 8]
、[7, 8, 5]
、[8, 5, 6]
。
あなたのタスク
このすべてのローテーションを追跡するのは難しいので、入力として何曜日かを指定して、スケジュールを印刷するプログラムを作成する必要があります。コードでは、HomeroomとLunchを正しい場所に配置する必要があります。以下は、入力に必要なコードの正確な出力です1-4
。
Homeroom Homeroom Homeroom Homeroom
Period 1 Period 2 Period 3 Period 4
Period 2 Period 3 Period 4 Period 1
Period 3 Period 4 Period 1 Period 2
Lunch Lunch Lunch Lunch
Period 5 Period 6 Period 7 Period 8
Period 6 Period 7 Period 8 Period 5
Period 7 Period 8 Period 5 Period 6
しかし、待って-もう一つ!
時々、学校の初日、または他の特別な日に、私の学校には「Day 0」があります。これは、その日のすべてのクラスを担任と昼食とともに行うことを意味しています。コードは0日目を処理する必要があります。0日目の出力は次のとおりです。
Homeroom
Period 1
Period 2
Period 3
Period 4
Lunch
Period 5
Period 6
Period 7
Period 8
これはコードゴルフなので、バイト単位の最短コードが勝ちです!
1, 2, 3, 5, 6, 7
ますか?