Girlianda
시간 제한1초메모리 제한1024 MB
N개의 전구가 트리 모양으로 연결되어 있고 초기 켜짐 상태가 주어질 때, 모든 전구가 꺼지는 가장 이른 초를 구합니다. 영원히 꺼지지 않으면 -1을 출력합니다.
문제
Linas는 특이한 girlianda(장식용 전구 줄)를 선물로 받았다. 이 girlianda는 개의 전구가 서로 연결되어 있다. 모든 전구는 하나의 연결된 네트워크를 이루며, 네트워크에는 사이클이 없다. 직접 연결된 두 전구를 이웃이라고 한다.
전원을 연결한 시점()에는 일부 전구가 켜져 있고 나머지는 꺼져 있다. 이후 매 초마다 켜진 전구의 구성이 바뀐다. 시각 에 각 전구는 다음 규칙으로 정해진다.
- 시각 에 이웃 전구 중 꺼져 있던 전구가 하나 이상 있었다면, 전구는 꺼진다.
- 그렇지 않으면 전구는 켜진다.
Linas는 전원을 연결한 뒤 몇 초가 지나야 girlianda의 모든 전구가 꺼지는지 알고 싶어 한다.
입력
첫째 줄에 전구의 개수 이 주어진다.
둘째 줄에는 개의 정수 (, )가 주어진다. 는 번 전구가 번 전구와 연결되어 있다는 뜻이다.
셋째 줄에는 개의 정수 ()가 주어진다. 이면 번 전구는 0초에 켜져 있고, 이면 꺼져 있다.
출력
모든 전구가 꺼지는 가장 이른 시각(초)을 한 정수로 출력한다. 그런 시각이 없으면 -1을 출력한다.