발할라
시간 제한5초메모리 제한1024 MB
3칸 너비의 접시에 놓을 고기 묶음의 위치를 골라 접시 위 조각이 15개를 넘지 않게 하는 대화형 문제입니다.
문제
이 문제는 인터랙티브 문제입니다.
발할라에서 연회가 한창입니다. 모든 에인헤랴르가 식탁에 앉아 메인 요리를 기다립니다. 메인 요리의 주재료는 세흐림니르의 고기입니다. 고기는 익는 데 시간이 걸립니다. 고기 한 묶음이 다 익을 때마다 그 묶음을 특수 접시에 올려놓고, 연회 참가자는 접시에서 고기 세 조각을 가져갈 수 있습니다.
규칙은 다음과 같습니다.
- 접시의 너비는 고기 세 조각과 같습니다.
- 처음에 접시는 비어 있습니다.
- 가로로 나란히 놓인 고기 세 조각만 가져갈 수 있습니다.
- 가져간 조각 위에 있던 것들은 한 층 아래로 내려옵니다.
- 고기 세 조각을 가져갈 수 있게 되는 순간, 전사 한 명이 즉시 그 조각을 가져갑니다.
- 익은 고기 묶음은 다음 중 하나의 모양입니다:
,
, 또는
. 전사들은 묶음을 접시에 어떻게 올릴지만 고를 수 있습니다. 이때 같은 묶음에 속한 조각들은 접시에 올라가는 순간의 상대적 위치를 유지해야 합니다.
접시에 고기가 15조각을 넘게 쌓이지 않도록 전사들이 올리는 방식을 골라 주세요. 그렇지 않으면 배고픈 전사들이 허가되지 않은 싸움을 벌여 전당을 부숩니다.
힌트
고기 묶음은 위에서 아래로 접시에 놓입니다. 즉 새 묶음을 올릴 때마다 그 묶음의 어떤 조각 위에도 다른 고기가 있으면 안 됩니다.
프로그램이 올바르게 동작하려면 데이터를 출력할 때마다 다음 작업을 해야 합니다.
- Pascal:
flush(output); - C/C++:
fflush(stdout); - Java:
System.out.flush(); - Python:
sys.stdout.flush();
출력한 줄마다 끝에 줄바꿈을 넣으세요.