경로 위의 첫 검은 정점
시간 제한2초메모리 제한512 MB
정점의 색을 뒤집는 갱신과 함께, 루트에서 v까지의 경로에서 처음 만나는 검은 정점을 찾아 출력한다.
문제
정점이 개인 트리가 있다. 트리는 사이클이 없는 연결 무방향 그래프다. 정점에는 1번부터 번까지 번호가 붙어 있고, 처음에는 모든 정점이 흰색이다.
아래 두 쿼리를 입력에 주어진 순서대로 처리하는 프로그램을 작성하시오.
1 i: 번 정점의 색을 반대로 바꾼다. 흰색이면 검은색이 되고, 검은색이면 흰색이 된다.2 v: 1번 정점에서 번 정점으로 가는 경로를 1번 정점 쪽부터 따라가면서 처음 만나는 검은 정점의 번호를 출력한다. 경로에 검은 정점이 하나도 없으면 -1을 출력한다.
경로에는 1번 정점과 번 정점도 포함된다. 트리에서 두 정점을 잇는 경로는 하나뿐이므로 각 쿼리의 답은 하나로 정해진다.
입력
첫째 줄에 정점의 개수 이 주어진다. ()
둘째 줄부터 개의 줄에는 간선 하나가 잇는 두 정점의 번호 와 가 주어진다. (, ) 주어지는 간선 개는 항상 트리를 이룬다.
다음 줄에 쿼리의 개수 이 주어진다. ()
이어지는 개의 줄에는 쿼리가 한 줄에 하나씩 1 i 또는 2 v 형식으로 주어진다. ()
출력
2번 쿼리마다 답을 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.