| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 512 MB | 127 | 83 | 66 | 70.213% |
근성은 나무에 관심이 많다.
비록 지금은 개발을 하고 있지만, 그렇다고 나무에 대한 애정이 식은 것은 아니다. 어느 날 이진 트리를 가지고 놀던 근성은 이진 트리는 나무임에도 열매가 안 열린다는 사실을 깨닫고 큰 충격에 빠졌다. 근성은 나무는 열매가 반드시 열려야 한다 생각하는 나무 열매..(중략) 론을 밀고 있었기에 나무 열매가 열리는 트리 그래프를 만들었고 이에 "나무나무"라 이름 지었다.
나무나무의 특징은 다음과 같다.
트리를 만든 후 무엇을 할 수 있을까 고민하던 중 아래와 같은 두 가지를 생각해 냈다!
1 i j w: (접목) 임의의 정점 $i$에 가지를 붙인다.
2 i: (수확) 정점 $i$와, 그 위로 연결된 모든 정점의 열매를 떨어트리려면 몇의 힘으로 흔들어야 할지 출력한다.
-1 을 출력한다.쿼리에 주어지는 수는 모두 정수이고, 올바른 입력임을 보장한다. 또한 수확 쿼리는 1회 이상 주어진다.
그런데 근성은 이 쿼리를 만들다 갑자기 동아리방에 가야 한다며 떠났다. 여러분이 대신 풀어주자.
첫째 줄에 최초 정점의 수 $N$, 쿼리의 수 $M$이 공백으로 구분되어 주어진다. 최초의 정점에는 $1$ 이상 $N$ 이하의 번호가 중복되지 않게 붙어있다. ($2 \le N, M \le 100\,000$)
둘째 줄에 $1$번부터 $N$번까지, 각 정점이 어느 정점의 바로 위에 가지로 연결되어 있는지 공백으로 구분되어 주어진다. $1$번은 뿌리이므로 -1 이 주어진다. 모든 정점은 최종적으로 뿌리와 같은 그래프에 속하지만, 입력 도중에는 속하지 않을 수 있다.
셋째 줄에 $1$번부터 $N$번까지, 각 정점이 가지고 있는 열매의 무게 $w_i$ 가 공백으로 구분되어 주어진다. ($0 \le w_i \le 500$) $0$이라면 열매가 열리지 않는 것이고 뿌리에는 열매가 열리지 않는다.
이후 넷째 줄부터 $M$개의 줄에 걸쳐 쿼리가 주어진다.
수확 쿼리가 들어올 때 몇의 힘으로 흔들어야 할지 출력한다. 단, 흔들어야 할 힘이 $0$이라면 -1 을 출력한다.
3 7 -1 1 1 0 0 3 2 1 1 2 7 4 1 7 4 5 1 7 5 0 2 4 2 7 2 1
3 5 9 12
4 3 -1 1 1 1 0 0 0 0 2 1 1 2 7 500 2 1
-1 500
1번 예제 테스트 케이스를 확인해보자.
최초 트리의 형태이다. 첫 번째 쿼리 시 $1$번 정점을 흔들면 $2$, $3$번 정점이 같이 흔들리고 $3$번 정점에 달린 열매를 떨어트리기 위해 $3$의 힘으로 흔들어야 한다.
3개 접목을 진행한 모습이다. $4$번 정점을 흔들면 $4$번만 흔들리고, $4$번에 달린 열매를 떨어트리기 위해 $5$의 힘으로 흔들어야 한다. 마찬가지로 $7$번 정점을 흔들면 $7$, $4$, $5$번이 흔들리고 $4$번과 $7$번의 열매를 떨어트리기 위해 $9$의 힘으로 흔들어야 한다.
2번 예제를 확인해보자.
첫 번째 쿼리 시 $1$번 정점을 흔들면 $2$, $3$, $4$번이 같이 흔들리지만, 열매가 달려 있지 않다. 흔들어야 할 힘이 $0$이기에 -1을 출력한다.
$1$번 정점을 흔들면 $2$, $3$, $4$, $7$번이 같이 흔들리고, $7$번의 열매를 떨어트리기 위해 $500$의 힘으로 흔들어야 한다.
University > 전남대학교 > 2023 전남대학교 PIMM 알고리즘 파티 F번