https://www.acmicpc.net/problem/15480
만약 기존에 LCA2를 풀어봤다면 딱 case만 분류하면 끝이다.
while (Q--) {
int u, v, r;
cin >> u >> v >> r;
u -= 1; v -= 1; r -= 1;
int c = LCA(u, v);
if (LCA(c, r) != c) {
cout << c + 1 << '\n';
} else {
int k = LCA(u, r);
if (k != c) cout << k + 1 << '\n';
else cout << LCA(v, r) + 1 << '\n';
}
}
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 2302] 극장 좌석 (0) | 2020.04.25 |
---|---|
[BOJ 5214] 환승 (0) | 2020.04.21 |
[BOJ 16639] 괄호 추가하기 3 (0) | 2020.03.14 |
[BOJ 2263] 트리의 순회 (0) | 2020.03.11 |