우리 고등학교와 다른 많은 사람들은 Rotating Block Schedule이라고하는 일정 유형을 구현합니다. 이것은 사람들이 8 개의 수업을받는 방법이지만 수업 일에는 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 and 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"이 있습니다. 이것은 단지 그날 모든 교실에서 담임과 점심 식사를 할 것임을 의미합니다 . 코드는 Day 0을 처리해야합니다. 다음은 Day 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
겠습니까?