조화로운 사각형

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

요약
네 원소로 채워진 N×M 격자에서 Q번의 직사각형 온도 또는 습도 반전이 일어날 때마다 네 원소가 모두 있는 2×2 사각형의 수를 구한다.
난이도

어려움10점 중 8점

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

문제

섬을 지지하던 빛이 흔들리며, 섬의 만물을 이루는 네 개의 원소는 서로의 흐름을 방해하기 시작했다.

한때 완벽한 비율로 조화를 이루던 네 흐름은 이제 조금씩 어긋났고, 그 어긋남은 땅 곳곳에 흔적을 남겼다.

사람들은 균형을 되찾으려 했지만, 균형은 쉽게 깨졌고, 애써 복원된 구조마저 금세 흐트러지곤 했다.

원소의 균형을 위한 그들의 노력을 지켜보고, 그들이 마지막까지 지키려 했던 배열을 복원하여라.


섬 곳곳에는 흙, 물, 불, 공기의 네 가지 원소가 새겨진 격자가 존재한다.

이 격자는 N×MN\times M 크기로 이루어져 있으며, 각각의 칸에는 네 원소 중 하나가 배치되어 있다. 위에서부터 rr번째 행, 왼쪽에서부터 cc번째 열의 격자칸을 (r,c)(r,c)로 표기한다.

네 가지 원소는 아래 표와 같이 온도와 습도 두 가지 속성으로 구분된다.

원소온도 속성습도 속성
흙추움마름
물추움젖음
불더움마름
공기더움젖음

격자 내부의 어떤 2×22\times 2 크기의 사각형 안에 네 가지 원소가 모두 존재할 때, 원소들의 속성이 서로 균형을 이루게 된다. 이러한 사각형을 조화로운 사각형이라고 부른다. 예를 들어, 아래 원소의 격자에서 초록색으로 표시된 두 영역은 모두 조화로운 사각형이다.

그러나 최근, 섬의 사람들은 원소의 흐름이 불안정해졌음을 발견했다. 특정한 직사각형 영역에 대해, 해당 영역의 원소들이 온도 속성 또는 습도 속성이 반대인 원소로 변하는 현상이 QQ회 발생하였다.

예를 들어, 아래 원소의 격자에서 가운데 3×33\times 3 영역의 원소들이 온도 속성이 반대인 원소로 바뀌면 다음과 같이 변한다.

섬의 사람들은 격자에 변동이 일어날 때마다 조화로운 사각형의 수를 알고자 한다.

입력

첫째 줄에 격자의 크기를 나타내는 정수 NN, MM, 그리고 격자가 변경되는 횟수 QQ가 공백으로 구분되어 주어진다.

둘째 줄부터 NN개의 줄에 걸쳐, 격자의 초기 상태가 주어진다. 각 줄에는 MM개의 문자 B_i1,B_i2,⋯ ,B_iMB\_{i1},B\_{i2},\cdots ,B\_{iM}이 주어진다. 각 문자는 E, W, F, A 중 하나이며, 이들은 각각 흙, 물, 불, 공기를 나타낸다.

이후 QQ개의 줄에 걸쳐 격자의 변경에 대한 정보를 나타내는 정수 t_i,r_1i,c_1i,r_2i,c_2it\_i,r\_{1i},c\_{1i},r\_{2i},c\_{2i}가 주어진다. t_it\_i는 격자 변경의 종류를 나타내며, t_i=1t\_i=1인 경우 온도 속성의 변경, t_i=2t\_i=2인 경우 습도 속성의 변경을 의미한다. 나머지 네 정수는 원소의 변경이 r_1i≤r≤r_2ir\_{1i}\le r\le r\_{2i}, c_1i≤c≤c_2ic\_{1i}\le c\le c\_{2i}인 모든 칸 (r,c)(r,c)에서 일어난다는 의미이다.

출력

첫째 줄에는 격자의 초기 상태에 존재하는 조화로운 사각형의 수를 출력한다.

이후 QQ개의 줄에 걸쳐, 각 변경 후 격자에 존재하는 조화로운 사각형의 수를 차례로 출력한다.

제한

  • 2≤N≤10002\le N\le 1000
  • 2≤M≤10002\le M\le 1000
  • 0≤Q≤1040\le Q\le 10^4
  • B_ijB\_{ij}는 E, W, F, A 중 하나이다. (1≤i≤N,1≤j≤M)(1\le i\le N,1\le j\le M)
  • 1≤t_i≤21\le t\_i\le 2 (1≤i≤Q)(1\le i\le Q)
  • 1≤r_1i≤r_2i≤N1\le r\_{1i}\le r\_{2i}\le N (1≤i≤Q)(1\le i\le Q)
  • 1≤c_1i≤c_2i≤M1\le c\_{1i}\le c\_{2i}\le M (1≤i≤Q)(1\le i\le Q)

예제2

  1. 예제 1

    입력
    5 5 2
    EEAFW
    FWEWA
    WFEAF
    AFAWE
    EWEAF
    1 2 2 4 4
    2 2 1 4 5
    
    예상 출력
    5
    2
    2
    
  2. 예제 2

    입력
    4 6 0
    EWEWFA
    FAFAEW
    WEEWFA
    FAWFFA
    
    예상 출력
    10