Mon lycée et bien d'autres mettent en œuvre un type d'horaire appelé horaire à blocs rotatifs. C'est une façon pour les gens d'avoir 8 classes, mais d'avoir 6 périodes dans une journée d'école.
Il y a quatre jours dans un calendrier de bloc qui se répètent encore et encore et n'ont rien à voir avec les jours réels de la semaine. Un numéro leur est attribué à chacun [1-4]
.
La façon dont le programme fonctionne est que vous listez toutes vos classes du matin, les périodes 1-4
: [1, 2, 3, 4]
. Ceci est votre emploi du temps pour le premier jour, ou le jour 1. Le reste des jours tourner juste la liste: [2, 3, 4, 1]
, [3, 4, 1, 2]
, [4, 1, 2, 3]
.
Cependant, la dernière période du matin est "abandonnée" et vous ne voyez pas ce professeur ce jour-là. Par conséquent , les jours sont: [1, 2, 3]
, [2, 3, 4]
, [3, 4, 1]
, [4, 1, 2]
.
L'après - midi est le même, sauf qu'il utilise des périodes 5-8
plutôt: [5, 6, 7]
, [6, 7, 8]
, [7, 8, 5]
, [8, 5, 6]
.
Ta tâche
Toute cette rotation est difficile à suivre, vous devez donc écrire un programme pour imprimer mon calendrier en fonction du jour où il est entré. Votre code doit placer Homeroom et Lunch aux bons endroits. Voici la sortie exacte dont votre code a besoin pour les entrées 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
Mais attendez - Encore une chose!
Parfois, le premier jour d'école, ou d'autres jours spéciaux, mon école a un "Jour 0". Cela signifie simplement que j'aurai tous mes cours ce jour-là avec ma chambre et mon déjeuner. Votre code devra gérer les jours 0. Voici la sortie pour un jour 0:
Homeroom
Period 1
Period 2
Period 3
Period 4
Lunch
Period 5
Period 6
Period 7
Period 8
C'est le code-golf donc le code le plus court en octets gagne!
1, 2, 3, 5, 6, 7
?