무지개 길
시간 제한2초메모리 제한512 MB
간선마다 색이 칠해진 트리에서, v에서 시작하는 모든 단순 경로가 같은 색의 연속 간선을 갖지 않도록 하는 모든 정점 v를 찾는다.
문제
노드 개로 이루어진 트리가 있다. 노드에는 1부터 까지 번호가 붙어 있고, 각 간선은 가지 색 중 하나를 가진다. 트리의 어떤 경로에서 이웃한 두 간선의 색이 항상 서로 다르면 그 경로를 무지개 경로라고 한다. 노드 를 한쪽 끝점으로 하는 단순 경로가 모두 무지개 경로이면 를 좋은 노드라고 한다.
주어진 트리에서 좋은 노드를 모두 찾아라.
단순 경로는 같은 정점도 같은 간선도 두 번 지나지 않는 경로다.
입력
첫째 줄에 정수 이 주어진다. ()
다음 개 줄에는 세 정수 , , 가 공백으로 구분되어 주어진다. (, ) 이는 노드 와 노드 를 잇는 색 의 간선을 뜻한다.
주어지는 간선은 항상 트리를 이룬다.
출력
첫째 줄에 좋은 노드의 개수 를 출력한다.
다음 개 줄에 좋은 노드의 번호를 오름차순으로 한 줄에 하나씩 출력한다.
힌트
무지개 조건은 경로에서 연속한 두 간선에만 적용된다. 경로 에서 간선 와 간선 는 이웃하지 않으므로 색이 같아도 된다. 간선이 한 개 이하인 경로에는 이웃한 간선 쌍이 없으니 언제나 무지개 경로다.