시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 2220 531 344 21.169%

문제

문제가 길면 출제자도 참가자도 힘들다. 따라서 이 문제는 너무 친절하게도 짧다.

수열이 주어졌을 때 두 종류의 쿼리를 수행해야 한다.

  1. a와 b 사이 (a, b도 포함) 구간에 있는 모든 원소에 c를 xor 한다.
  2. a와 b 사이 (a, b도 포함) 구간에 있는 모든 원소를 xor 한 값을 출력한다.

초기 수열과 연산의 정보가 주어졌을 때, 그에 맞게 출력한다.

입력

첫 번째 줄에 수열의 크기 n(0 < n ≤ 500,000)이 주어진다.

수열의 원소가 0번부터 n - 1 번까지 차례대로 주어진다. 수열의 원소는 100,000보다 작거나 같은 자연수 또는 0이다.

세 번째 줄에 여러분이 수행할 쿼리의 개수 m(0 < m ≤ 500,000)이 주어진다.

그 다음 m 개의 줄에는 t, a, b, c가 주어진다. t가 1이면 첫 번째 종류의 쿼리를 수행해야 하고, t가 2이면 두 번째 종류의 쿼리를 수행해야 한다. (0 ≤ a, b < n, 0 ≤ c ≤ 100,000)

출력

두 번째 종류의 쿼리를 수행한다.

예제 입력 1

5
1 2 3 4 5
3
2 0 4
1 2 4 9
2 0 4

예제 출력 1

1
8

출처

University > 숭실대학교 > SCCC 2016 Summer Contest F번

  • 빠진 조건을 찾은 사람: jh05013
  • 문제를 다시 작성한 사람: jh05013
  • 문제를 만든 사람: sys7961