참 어려운 문제
시간 제한2초메모리 제한512 MB
정점마다 색이 칠해진 트리에서 같은 색의 두 정점이 조상과 자손 관계에 놓이지 않을 때, 루트가 될 수 있는 모든 정점의 개수와 번호의 합, 제곱합을 구합니다.
문제
개의 정점으로 이루어진 루트 있는 트리가 있다. 모든 정점에는 1번부터 번까지 번호가 붙어 있다. 번 정점은 번 색으로 칠해져 있다 ().
이 트리에는 특별한 성질이 있다. 색이 같은 두 정점을 고르면, 그 둘은 항상 조상-자식 관계가 아니다.
교준이는 트리의 구조는 알지만, 루트가 어느 정점인지는 알지 못한다. 루트가 될 수 있는 정점을 모두 찾는 프로그램을 작성하시오.
입력
첫 번째 줄에 정점의 개수를 나타내는 자연수 이 주어진다.
두 번째 줄에 정점의 색을 나타내는 자연수 이 공백으로 구분되어 주어진다.
세 번째 줄부터 개의 줄에 걸쳐 간선의 정보가 주어진다. 번째 줄에는 번째 간선을 나타내는 두 자연수 와 가 공백으로 구분되어 주어진다 (). 번째 간선은 번 정점과 번 정점을 연결한다.
출력
첫 번째 줄에 루트가 될 수 있는 정점의 개수를 출력한다.
두 번째 줄에 루트가 될 수 있는 정점 번호의 합을 출력한다.
세 번째 줄에 루트가 될 수 있는 정점 번호의 제곱의 합을 출력한다.
루트가 될 수 있는 정점이 하나도 없다면, 세 값은 모두 0이다.
제한
- ()
- ()
- ()
- ()