만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

초콜릿 보관함

면접 대비

시간 제한1초메모리 제한1024 MB

요약
3x3 초콜릿 상자에서 가운데 칸을 제외한 칸의 연결된 초콜릿 묶음 크기를 구하고, 화면에 표시된 숫자와 일치하는지 확인합니다.
난이도

쉬움10점 중 3점

유형
DFS, 행렬, 구현
정답자
아직 제출이 없습니다

문제

코코는 3×33\times 3 크기의 사각 격자 모양 초콜릿 보관함을 가지고 있다. 이 보관함은 가운데 칸이 막혀 있고, 그 자리에 숫자를 표시하는 화면이 붙어 있다. 나머지 8칸에는 초콜릿을 최대 하나씩 보관할 수 있다.

화면에는 숫자가 최대 4개까지 표시된다. 각 숫자는 초콜릿이 들어 있는 연결된 칸의 개수를 나타낸다. 숫자가 여러 개이면 오름차순으로 표시된다. 두 칸이 한 변을 따라 맞닿아 있으면 그 두 칸은 연결되어 있다고 한다.

코코는 똑같은 초콜릿 보관함을 하나 더 만들어 한별이에게 선물하려고 한다. 버그가 있을지 모른다고 걱정하는 코코를 위해 보관함을 테스트해 주자.

입력

첫 줄에는 테스트 케이스의 개수 TT가 주어진다. (1≤T≤1001\le T\le 100)

각 테스트 케이스는 4줄로 이루어진다. 첫 3줄에는 보관함의 상태가 주어진다. O는 그 칸에 초콜릿이 있다는 뜻이고, X는 없다는 뜻이다. 가운데 칸은 -로 표시된다. 4번째 줄에는 화면에 표시된 숫자의 개수 nn과 숫자의 목록 a_1,a_2,⋯ ,a_na\_1,a\_2,\cdots ,a\_n이 순서대로 주어진다. (0≤n≤40\le n\le 4, 1≤a_1≤a_2≤⋯≤a_n≤81\le a\_1\le a\_2\le\cdots\le a\_n\le 8)

출력

각 테스트 케이스마다 화면의 표시가 올바르면 1을, 아니면 0을 출력한다.

예제1

  1. 예제 1

    입력
    6
    OOO
    O-O
    XOO
    1 7
    XOO
    O-O
    XXO
    2 1 4
    OXO
    O-X
    XXO
    3 1 1 2
    XOX
    O-O
    XOX
    4 1 1 1 1
    XOO
    O-O
    OOX
    1 6
    OXX
    O-O
    XXO
    3 1 1 2
    
    예상 출력
    1
    1
    1
    1
    0
    0