아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

떨어지는 블록

시간 제한4초메모리 제한256 MB

요약
3열 10행 보드에 반복되는 펜토미노 조각을 테트리스 규칙으로 떨어뜨려 가장 많이 놓는 개수를 구하고 무한히 이어지면 forever를 출력합니다.
난이도

보통10점 중 7점

유형
그래프, DFS, 시뮬레이션, 완전 탐색
정답자
아직 제출이 없습니다

문제

가로 3칸, 세로 10칸인 판에서 하는 테트리스 비슷한 게임이 있다. 판 맨 위에서 조각이 하나씩 떨어지며, 조각은 8가지이고 모두 정사각형 5개를 이어 붙인 펜토미노다. 각 조각의 이름과 모양은 다음과 같다. #은 채워진 칸이고 .은 빈 칸이다.

  T       X       R       S
 ###     .#.     .##     .##
 .#.     ###     ##.     .#.
 .#.     .#.     .#.     ##.

  Z       V       7       W
 ##.     #..     ##.     #..
 .#.     #..     .##     ##.
 .##     ###     .#.     .##

조각은 0도, 90도, 180도, 270도로 마음대로 회전할 수 있다. 뒤집을 수는 없다.

규칙은 테트리스와 비슷하다. 새 조각의 회전 상태와 가로 위치를 정하면 조각은 판 맨 위에서 아래로 곧장 내려가고, 판 바닥이나 이미 쌓인 블록에 닿는 순간 멈춘다. 옆으로 밀거나 튀어나온 블록 밑으로 끼워 넣지는 못한다. 조각이 멈추면 꽉 찬 줄을 모두 지우고, 그 위에 있던 줄은 내용이 바뀌지 않은 채 그대로 아래로 내려온다.

빈 판에 R 조각을 회전하지 않고 떨어뜨리면 위 그림의 첫 번째 판이 된다. 그 위에 회전한 Z 조각을 떨어뜨리면 두 줄이 꽉 찬다. 이 두 줄을 지우고 위의 줄을 아래로 내리면 위 그림의 마지막 판이 된다. 마지막 판에는 공중에 뜬 블록이 있는데, 이 블록은 더 내려가지 않는다.

테트리스와 다른 점이 하나 있다. 조각을 놓으려면 판 맨 위 세 줄이 완전히 비어 있어야 한다. 즉 꽉 찬 줄을 모두 지운 뒤 맨 위 세 줄 가운데 하나라도 비어 있지 않으면 게임이 끝난다.

점수는 게임이 끝날 때까지 판에 놓은 조각의 개수로만 정해진다. 끝없이 되풀이되는 조각의 순서가 주어질 때, 놓을 수 있는 조각 개수의 최댓값을 구하여라.

규칙을 보여 주는 순서를 몇 가지 살펴보자.

순서가 X이면 X 조각을 놓을 때마다 뒤에 오는 X 조각으로는 지울 수 없는 줄이 두 개씩 남는다. 네 개를 놓고 나면 비어 있지 않은 줄이 여덟 개라 다섯 번째 X 조각은 놓을 수 없고, 답은 4다.

순서가 XXXXR이면 R 조각을 회전해 가장 높은 줄에 남은 칸을 피해 놓을 수도 있지만, 조각을 놓기 전에 맨 위 세 줄이 비어 있어야 한다는 규칙 때문에 그렇게 놓을 수 없다. 답은 4다.

순서가 VZV이면 V 조각 두 개와 Z 조각 하나로 판을 모두 비울 수 있어 게임을 끝없이 이어 갈 수 있다.

입력

조각의 순서를 나타내는 문자열이 한 줄에 주어진다. 문자열의 길이는 1 이상 20 이하이고, 각 문자는 T, X, R, S, Z, V, 7, W 가운데 하나다. 이 순서는 끝없이 되풀이된다.

출력

더 이상 조각을 놓을 수 없을 때까지 놓을 수 있는 조각 개수의 최댓값을 한 줄에 출력한다. 게임을 끝없이 이어 갈 수 있으면 forever를 출력한다.

예제6

  1. 예제 1

    입력
    T
    
    예상 출력
    forever
    
  2. 예제 2

    입력
    W
    
    예상 출력
    8
    
  3. 예제 3

    입력
    VZ
    
    예상 출력
    25
    
  4. 예제 4

    입력
    VR
    
    예상 출력
    forever
    
  5. 예제 5

    입력
    VVTRX
    
    예상 출력
    130
    
  6. 예제 6

    입력
    XSVTVT
    
    예상 출력
    forever