| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 233 | 102 | 83 | 46.369% |
트리를 가지고 노는 것을 좋아하는 예환이는 나뭇가지로 하나의 트리를 만들었다. 하지만 시간이 지나자 나뭇가지들의 접합부 중 몇몇이 썩고 있다는 것을 발견했다. 예환이는 곧바로 장미칼을 가져와서 최소 개수의 나뭇가지들을 잘라내어 모든 연결 요소들이 건강해지게 만들고 싶다.
나뭇가지들이 만나는 접합부를 노드라고 할 때, 노드들을 간선(나뭇가지)으로 연결한 그래프 $G$를 생각하자. 그래프 $G$는 트리(수형도)이다. 썩고 있는 노드를 안 건강 노드라고 하자. 예환이는 하나의 연결 요소 속 안 건강 노드의 개수가 $K$를 넘지 않으면 그 연결 요소를 건강하다고 판단한다.
위의 그림은 $K=2$일 때 트리를 건강하게 나눈 예시 중 하나이다. (빨간 노드가 안 건강 노드를 의미한다.)
총 노드의 수 $N,ドル 한 연결 요소 속 안 건강 노드의 최대 개수 $K$가 주어졌을 때, 최소 몇 개의 간선을 없앴을 때 남은 모든 연결 요소들이 건강해지는지 출력하는 프로그램을 작성하시오.
첫 번째 줄에 두 정수 $N,ドル $K$가 공백으로 구분되어 주어진다.
두 번째 줄에 $N$개의 정수 $H_1, H_2, \cdots, H_N$가 공백으로 구분되어 주어진다. 각 1ドル\leq i\leq N$에 대하여, $i$번째 노드가 안 건강 노드이면 $H_i=1$이고 그렇지 않으면 $H_i=0$이다.
이후 $N - 1$개의 줄에 걸쳐 각 줄마다 두 정수 $U,ドル $V$가 공백으로 구분되어 주어진다. 이는 $U$번째 노드와 $V$번째 노드 사이를 잇는 간선이 존재한다는 의미이다.
최소 몇 개의 간선을 없앴을 때 남은 모든 연결 요소들이 건강해지는지 출력한다.
12 2 1 0 0 1 0 1 0 0 1 0 0 1 1 2 1 3 2 4 2 5 3 6 4 7 5 8 6 9 6 10 7 11 7 12
2
트리의 처음 상태는 지문의 왼쪽 그림과 같으며, 2ドル$개의 간선을 없애 지문의 오른쪽 그림과 같이 모든 연결요소가 건강하도록 할 수 있다.
School > DGUPC > 제 2회 DGUPC F번