이 문제는 대화형 문제이다.
5중항 (T,I,SV,SE,ι)가 주어진다.
- T는 정점이 n개인 루트 트리 T=(V,E)이다. V는 정점 집합, E는 간선 집합이다. 정점에는 1,2,…,n의 번호가 붙어 있고, 루트는 1번 정점이다.
- I는 정보들의 집합이다. 특별한 원소가 두 개 있는데, 항등원 ϵ과 불법 원소 ⊥이다. 일반 정보는 정점 집합과 간선 집합이라는 두 속성을 가진다. 항등원은 간선 집합 속성만 가진다. 불법 원소는 두 속성이 모두 없다.
- 일반 정보 o∈I∖{ϵ,⊥}의 정점 집합 SV(o)는 V의 원소 2개짜리 부분집합이다. 즉 SV(o)⊆V이고 ∣SV(o)∣=2이다.
- o∈I∖{⊥}의 간선 집합 SE(o)는 E의 부분집합이다. 항등원의 간선 집합은 공집합이다. 즉 SE(ϵ)=∅이다.
- 트리의 모든 간선 e=(u,v)∈E에 대해 정보 ι(e)∈I가 있다. 이 정보의 정점 집합은 {u,v}이고 간선 집합은 {e}이다. 즉 SV(ι(e))={u,v}, SE(ι(e))={e}이다.
정보를 결합하는 연산은 R과 C 두 가지이다. 모든 a,b∈I에 대해 r=R(a,b), c=C(a,b)라 하면 r,c∈I이다.
- a=ϵ이면 r=c=b이다. b=ϵ이면 r=c=a이다.
- a=⊥이거나 b=⊥이면 r=c=⊥이다.
- 나머지 경우에 SE(a)∩SE(b)=∅이거나 ∣SV(a)∩SV(b)∣=1이면 r=c=⊥이다.
- 그 밖의 경우에는 SE(r)=SE(c)=SE(a)∪SE(b), SV(r)=SV(a), SV(c)=SV(a)⊕SV(b)이다. 여기서 ⊕는 대칭차이고, A⊕B=(A∪B)∖(A∩B)이다.
트리 T에서 두 정점 사이의 거리는 두 정점을 잇는 유일한 단순 경로가 지나는 간선의 수이다.
질의가 q개 주어진다. 각 질의는 정점 u와 음이 아닌 정수 d로 이루어진다. X는 u까지의 거리가 d 이하인 정점들의 집합이다. Y={(a,b)∈E∣a,b∈X}는 양 끝점이 모두 X에 속하는 간선들의 집합이다.
ϵ과 모든 ι(e) (e∈E)에서 출발해 유한 번의 R, C 호출로 o=⊥이고 SE(o)=Y인 정보 o를 만들 수 있다는 것이 증명되어 있다. 특히 d=0이면 출력은 항등원 ϵ이어야 한다.
각 질의마다 위 조건을 만족하는 정보 o를 만들어야 하며, R과 C 호출 횟수의 합은 M을 넘을 수 없다.