빨간색 영역을 담아줄 2차원 배열 red_arr과 파란색 영역을 담아줄 2차원 배열 blue_arr을 생성한다.
각각의 색에 맞춰서 해당 배열에 x좌표 y좌표에 해당하는 값을 1로 바꿔준다.
10 * 10 이차원 배열을 탐색하면서 red_arr과 blue_arr에 1이 동시에 들어가있는 경우 result++ 한다.
문제 조건에 주어진 같은 색의 영역은 겹치지 않는다라는 조건을 보지 못했다.
같은 색의 영역이 겹치지 않으면 색에 구분없이 +1을 해준다.
탐색할 때 원소가 2인 경우에 result++을 해주면 구할 수 있다.
T = int(input())
for tc in range(1, T+1):
N = int(input())
red_arr = [[0]*10 for _ in range(10)]
blue_arr = [[0]*10 for _ in range(10)]
result = 0
for n in range(N):
temp_arr = list(map(int, input().split()))
if temp_arr[4] == 1:
for i in range(temp_arr[0], temp_arr[2] + 1):
for j in range(temp_arr[1], temp_arr[3] + 1):
if red_arr[i][j] == 0:
red_arr[i][j] = 1
if temp_arr[4] == 2:
for i in range(temp_arr[0], temp_arr[2] + 1):
for j in range(temp_arr[1], temp_arr[3] + 1):
if blue_arr[i][j] == 0:
blue_arr[i][j] = 1
for i in range(10):
for j in range(10):
if red_arr[i][j] == blue_arr[i][j] == 1:
result += 1
print(f'#{tc} {result}')