복잡한 쿼리
시간 제한2.5초메모리 제한1024 MB
연결된 가중 무향 그래프에서 d(u,v)를 u에서 v로 가는 모든 보행 중 XOR 가중치의 최댓값으로 정의하고, l<=i<j<=r인 모든 쌍의 d(i,j)를 XOR한 값을 묻는 질의에 답한다.
문제
출제진은 여러분이 고통받는 모습을 즐기므로, 여러분이 별로 보고 싶지 않은 주제들을 합쳐서 문제를 내기로 했다. NP 문제인 최장 경로 문제, XOR, 쿼리가 합쳐진 이 문제를 풀어보자.
개의 정점과 개의 가중치 있는 무방향 간선으로 이루어진 연결그래프 가 있다. 에서 경로의 가중치는 일반적인 경우와 다르게 계산되는데, 지난 간선들의 가중치를 XOR한 값이다. 한 간선을 여러 번 지나는 것이 허용되며, 이 경우 그 횟수만큼 XOR해야 함에 유의하자.
정점 와 에 대해 에서 로 가는 최대 가중치의 경로를 에서 로 가는 최장 경로라고 한다. 이 때, 최장 경로의 가중치를 라고 하자. 번 다음과 같은 쿼리를 해결해야 한다.
- : 인 모든 와 에 대해, 값들을 XOR한 값을 구한다.
입력
첫 번째 줄에 , , 가 주어진다.
이후 개의 줄에 걸쳐 간선의 정보가 , , 가 주어진다. 이는 정점 와 를 잇는 가중치 의 간선이라는 뜻이다. 양 끝점이 같은 간선이 있을 수 있으며 같은 정점 쌍을 잇는 간선이 여럿 있을 수 있음에 유의하라.
이후 개의 줄에 걸쳐 쿼리의 정보 , 이 주어진다.
출력
각 쿼리의 답을 순서대로 줄바꿈으로 구분하여 출력한다.