거대한 보드에서 룩을 옮길 때마다 같은 행이나 열에 있는 룩의 파워를 xor한 값이 0이 아닌 칸 수를 셉니다.
보통7비트 연산해시맵수학아직 제출이 없습니다시간 제한2초메모리 제한64 MB미르코는 체스와 프로그래밍을 좋아한다. 평범한 체스에는 금방 싫증이 나서, 룩만 가지고 노는 방법을 만들었다.
N행 N열짜리 체스판을 구해서 그 위에 룩 K개를 올려놓았다.
규칙은 다음과 같다.
룩이 서 있는 칸도 공격받을 수 있다.
미르코는 처음 배치에서 시작해 이동을 P번 한다. 이동을 한 번 마칠 때마다 공격받는 칸이 몇 개인지 구하여라.
룩은 판 위의 빈 칸이면 어디로든 옮길 수 있다. 이동은 같은 행이나 같은 열로 제한되지 않는다.
첫째 줄에 정수 N, K, P가 주어진다. (1≤N≤109, 1≤K≤105, 1≤P≤105)
다음 K개의 줄에는 정수 R, C, X가 주어진다. (1≤R,C≤N, 1≤X≤109) 처음에 칸 (R,C)에 힘이 X인 룩이 있다는 뜻이다.
다음 P개의 줄에는 정수 R1, C1, R2, C2가 주어진다. (1≤R1,C1,R2,C2≤N) 룩이 칸 (R1,C1)에서 칸 (R2,C2)로 옮겨갔다는 뜻이다.
어느 시점에도 한 칸에 룩이 두 개 놓이는 일은 없다.
P개의 줄을 출력한다. k번째 줄에는 k번째 이동을 마친 뒤 공격받는 칸의 개수를 출력한다.
첫 번째 예제를 설명하면 이렇다. 첫 번째 이동을 마치면 판의 모든 칸이 공격받는다. 예를 들어 칸 (1,1)을 보는 룩은 하나뿐이므로 그 칸의 XOR 값은 1이다. 두 번째 이동을 마치면 공격받는 칸이 하나도 없다. 칸 (1,1)은 룩 두 개가 보고 있고, 두 힘의 XOR은 0이다.