아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Imagine

면접 대비

시간 제한1초메모리 제한256 MB

요약
1024x1024 격자가 체커판으로 시작할 때, 스티커를 붙이고 직사각형 안의 A와 B 개수를 각각 세는 질의를 처리한다.
난이도

보통10점 중 5점

유형
누적 합, 배열, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

이 문제만을 위해 만들어 낸 가상의 도시에 A와 B라는 두 정당이 있다(이름이 짧아서 이렇게 붙였을 뿐, 특별한 의미는 없다).

도시 중앙에는 가로 10.2410.24미터, 세로 10.2410.24미터짜리 대형 게시판이 있으며, 이는 한 변이 11센티미터인 칸 1024×10241024 \times 1024개로 이루어진 격자다. 이따금 활동가가 나타나 A 또는 B가 적힌 1 cm×1 cm1\,\text{cm} \times 1\,\text{cm} 스티커를 한 칸에 붙인다. 새 스티커는 그 칸에 이전에 붙어 있던 스티커를 완전히 덮으므로, 한 칸에서는 가장 최근에 붙인 스티커만 보인다.

스티커를 하나도 붙이지 않은 처음 상태에서 게시판은 왼쪽 위 x=y=1x = y = 1 칸이 A인 체스판 무늬로 칠해져 있다. 정확히 말하면, 열 xx·행 yy에 있는 칸은 x+yx + y가 짝수이면 A, 홀수이면 B로 시작한다.

        x=1  x=2  x=3  x=4
 y=1:    A    B    A    B
 y=2:    B    A    B    A
 y=3:    A    B    A    B
 y=4:    B    A    B    A

모든 동작은 시간 순서대로 처리되며 두 종류가 있다. 하나는 한 칸에 스티커를 붙이는 것이고, 다른 하나는 게시판에서 축에 나란한 어떤 부분 직사각형 안에 지금 A 칸과 B 칸이 각각 몇 개 있는지 묻는 질의다. 이러한 질의에 모두 빠르게 답하라.

입력

입력은 하나의 시나리오를 나타낸다.

  • 첫 줄에는 정수 NN이 주어지며 1≤N≤1,000,0001 \le N \le 1{,}000{,}000이다. 이는 스티커 부착과 질의를 합한 전체 동작의 수다.
  • 이어지는 NN개의 줄은 각각 하나의 동작이며, 다음 두 형식 중 하나다.
    • A x y 또는 B x y — 열 xx, 행 yy 칸에 해당 정당의 스티커를 붙인다(1≤x,y≤10241 \le x, y \le 1024).
    • R x1 y1 x2 y2 — 왼쪽 위 꼭짓점이 (x1,y1)(x_1, y_1), 오른쪽 아래 꼭짓점이 (x2,y2)(x_2, y_2)인 부분 직사각형에 대한 질의다(1≤x1≤x2≤10241 \le x_1 \le x_2 \le 1024, 1≤y1≤y2≤10241 \le y_1 \le y_2 \le 1024).

각 줄에서 문자와 정수는 공백 하나로 구분된다. 스티커 부착과 질의는 어떤 순서로도 섞여 나올 수 있다.

출력

각 질의에 대해, 질의가 입력에 나온 순서대로 한 줄에 두 정수를 공백 하나로 구분하여 출력한다. 이는 질의된 부분 직사각형 안에 지금 있는 A 칸의 개수와 B 칸의 개수다.

예제4

  1. 예제 1

    입력
    7
    R 1 1 3 3
    A 2 3
    A 1 3
    R 1 1 3 3
    B 2 2
    B 3 3
    R 2 2 3 3
    
    예상 출력
    5 4
    6 3
    1 3
    
  2. 예제 2

    입력
    1
    R 1 1 1 1
    
    예상 출력
    1 0
    
  3. 예제 3

    입력
    1
    R 2 1 2 1
    
    예상 출력
    0 1
    
  4. 예제 4

    입력
    5
    R 5 6 5 6
    A 5 6
    R 5 6 5 6
    B 5 6
    R 5 6 5 6
    
    예상 출력
    0 1
    1 0
    0 1