이진 격자 셀을 갱신하면서 조회마다 상하좌우로 이어진 1 묶음 개수를 구합니다.
보통4BFS행렬시뮬레이션면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB0 또는 1이 적힌 R행 C열 격자가 있다. 이 격자에 연산을 N번 수행한다. 연산은 다음 두 종류 중 하나다.
첫 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫 줄에는 격자의 행 수 R과 열 수 C가 주어진다. 이어지는 R개의 줄에는 각각 0과 1로만 이루어진 길이 C의 문자열이 주어지고, 이는 격자의 초기 상태다. 행 번호는 0부터 R−1까지, 열 번호는 0부터 C−1까지다.
그다음 줄에는 수행할 연산의 개수 N이 주어진다. 이어지는 N개의 줄에 연산이 한 줄에 하나씩 주어진다. 연산 M은 M x y z 꼴이고, x행 y열 칸의 값을 z로 바꾼다는 뜻이다. 연산 Q는 Q 한 글자다.
각 테스트 케이스마다 먼저 Case #x:를 한 줄에 출력한다. 여기서 x는 1부터 시작하는 테스트 케이스 번호다. 그 뒤에 그 테스트 케이스의 연산 Q마다 입력에 주어진 순서대로 1의 연결 영역 개수를 한 줄에 하나씩 출력한다.