채소밭 뒤집기
면접 대비시간 제한1초메모리 제한128 MB
최대 백만 개의 직사각형 뒤집기를 n×n 밭에 적용하고 최종 배치를 출력합니다.
문제
바이트란트 텃밭(BOD)에서는 오래전부터 두 가지 채소, 즉 당근과 파슬리만을 기른다. 텃밭은 한 변의 길이가 인 정사각형 모양이고, 개의 단위 칸으로 나뉘어 있다. 각 칸에는 당근 한 포기 또는 파슬리 한 포기가 정확히 하나씩 심겨 있다.
이 텃밭만의 독특한 재배 방식이 채소의 맛과 개성을 결정한다. 주인은 매년 직사각형 구역을 하나 골라 그 구역의 재배를 뒤집는다. 재배를 뒤집는다는 것은, 그 구역 안에서 지금까지 파슬리가 자라던 칸에는 당근을, 당근이 자라던 칸에는 파슬리를 심는다는 뜻이다. 구역 밖의 칸들은 작년과 똑같은 상태로 유지된다.
주인은 여러 해에 걸친 재배 계획을 미리 세워 두었다. 이 계획을 모두 실행하고 난 뒤 텃밭이 어떤 모습이 될지 구하여라.
입력
첫째 줄에 텃밭의 크기를 나타내는 정수 ()이 주어진다.
이어지는 개의 줄에 텃밭의 초기 상태가 주어진다. 각 줄은 텃밭의 한 가로줄(행)을 나타내며, 개의 정수 ()로 이루어진다. 가 이면 그 칸에는 당근이, 이면 파슬리가 자라고 있다. 위에서 번째 줄은 번째 행이고, 그 줄의 번째 수는 번째 열의 칸을 나타낸다.
그다음 줄에는 주인이 세운 계획의 햇수를 나타내는 정수 ()이 주어진다.
이어지는 개의 줄에는 각 해에 수행할 재배 뒤집기가 시간 순서대로 주어진다. 각 줄은 네 정수 (, )로 이루어진다. 이는 그해에 열 번호가 이상 이하이고 행 번호가 이상 이하인 모든 칸, 즉 왼쪽 위 꼭짓점이 (열 , 행 )이고 오른쪽 아래 꼭짓점이 (열 , 행 )인 직사각형 안의 모든 칸에서 재배를 뒤집는다는 뜻이다.
출력
년이 지난 뒤 텃밭의 상태를 개의 줄에 출력한다. 각 줄은 텃밭의 한 가로줄(행)을 나타내며, 개의 정수 으로 이루어진다. 는 그 칸에 당근이 자라고 있으면 , 파슬리가 자라고 있으면 이다. 한 줄 안의 수들은 공백 하나로 구분하여 출력한다.
힌트
