Моя середня школа та багато інших реалізують тип розкладу, який називається Графік обертових блоків. Це спосіб людям мати 8 класів, але 6 шкільних днів у навчальний день.
У блок-графіку є чотири дні, які повторюються знову і знову і не мають нічого спільного з фактичними днями тижня. Кожному присвоюється номер [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].
Ваше завдання
Все це обертання важко відстежувати, тому вам доведеться написати програму, щоб роздрукувати мій графік, враховуючи, який день він є вхідним. Ваш код повинен розміщувати домашню кімнату та обід у правильних місцях. Ось точний вихід, який повинен мати ваш код для входів 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
Але зачекай - ще одне!
Іноді в перший шкільний день або в інші особливі дні в моїй школі проводиться «День 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?