Gurdurr

시간 제한5초메모리 제한512 MB

요약
최대 20층으로 이루어진 안정한 젠가 탑에서 두 플레이어가 번갈아 블록 하나를 제거하며 탑의 안정성을 유지한다. 최적의 플레이를 할 때 누가 이기는지 판정한다.
난이도

보통10점 중 7점

유형
게임 이론, 동적 계획법, 비트 연산
정답자
아직 제출이 없습니다

문제

Gurdurr은 건설 현장에서 사람들을 자주 돕는다. 걱정할 필요는 없다. Gurdurr은 일터에서 아주 좋은 대우를 받으며, 무료 식사가 제공되고 자주 휴식을 취할 수 있다. 휴식 시간에 Gurdurr은 가장 좋아하는 게임인 젠가를 즐긴다. 힘이 매우 세기 때문에, 절대 손에서 놓지 않는 무거운 강철 블록으로 젠가를 한다. 이 젠가는 다음과 같은 규칙을 따른다.

n개의 층으로 이루어진 탑이 있다. 각 층은 길쭉한 강철 블록 세 개로 이루어져 있다. 한 층 안의 블록들은 서로 평행하게 놓여 있다. 이웃한 두 층의 블록들은 서로 수직이다. 게임을 시작할 때 이미 몇몇 블록이 빠져 있을 수 있다. 두 플레이어가 번갈아 수를 둔다. 한 번의 수에서 플레이어는 블록 하나를 골라 탑에서 제거해야 하며, 제거한 뒤에도 탑이 안정적이어야 한다. 탑이 안정적이라는 것은 다음 조건을 모두 만족한다는 뜻이다.

  • 각 층에는 블록이 적어도 하나 있다.
  • 어떤 층에 블록이 정확히 하나만 있다면, 그것은 가운데 블록이다.
  • 블록이 하나만 있는 층이 이웃해 있는 경우는 없다.

수를 둘 수 없는 플레이어가 진다. Gurdurr은 이 게임을 꽤 잘하므로 최적으로 플레이한다고 가정한다. 블록이 이미 몇 개 빠져 있을 수 있는 탑의 초기 상태가 주어진다. 초기 탑은 안정적임이 보장된다. 이 게임에서 어느 플레이어가 이길지 판별하라.

이 젠가에서는 플레이어가 블록을 탑 꼭대기에 올리지 않는다.

입력

첫 번째 줄에 정수 t (1 ≤ t ≤ 30 000)가 주어진다. 이는 테스트케이스의 수이다. 다음 t개의 블록이 각각 하나의 테스트케이스를 나타낸다.

각 블록의 첫 줄에는 정수 n (1 ≤ n ≤ 20)이 주어진다. 이는 탑의 층 수이다. 이어서 n개의 줄이 주어지며, i번째 줄은 탑의 위에서 i번째 층을 나타낸다.

각 줄에는 정확히 세 문자로 이루어진 문자열이 주어진다. 각 문자는 ‘I’ 또는 ‘.’이다. i번째 줄의 j번째 문자가 ‘I’이면 위에서 i번째 층의 j번째 블록이 제거되지 않은 것이고, ‘.’이면 그 블록이 제거된 것이다. 각 층의 블록은 자연스러운 순서로 번호를 매기므로, 두 번째 블록이 가운데 블록이고 첫 번째와 세 번째 블록이 층의 바깥쪽에 있다.

주어지는 모든 탑은 안정적임이 보장된다.

출력

각 테스트케이스마다 어느 플레이어가 이기는지에 따라 First 또는 Second를 한 줄에 출력한다.

힌트

첫 번째 샘플의 두 번째와 세 번째 테스트케이스에서는 아무 수도 둘 수 없으므로 첫 번째 플레이어가 바로 진다.

다음은 두 번째 샘플의 탑과 각자 자기 금속 막대(탑에서 가져온 것이 아니다)를 든 Gurdurr 두 마리다.

예제2

  1. 예제 1

    입력
    5
    1
    III
    1
    I.I
    1
    .I.
    1
    .II
    2
    III
    III
    
    예상 출력
    First
    Second
    Second
    First
    First
    
  2. 예제 2

    입력
    1
    3
    II.
    .II
    III
    
    예상 출력
    Second