반응형
<코드>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int N, R, Q;
int a, b, x;
int ans[100001];
bool visit[100001];
vector<int> v[100001];
int solve(int now)
{
visit[now] = true;
for (int i = 0; i < v[now].size(); i++)
{
int next = v[now][i];
if (!visit[next])
{
ans[now] += solve(next);
}
}
return ans[now];
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N >> R >> Q;
for (int i = 0; i < N - 1; i++)
{
cin >> a >> b;
v[a].push_back(b);
v[b].push_back(a);
}
for (int i = 1; i <= N; i++)
ans[i] = 1;
solve(R);
for (int i = 0; i < Q; i++)
{
cin >> x;
cout << ans[x] << '\n';
}
}
15681번: 트리와 쿼리
트리의 정점의 수 N과 루트의 번호 R, 쿼리의 수 Q가 주어진다. (2 ≤ N ≤ 105, 1 ≤ R ≤ N, 1 ≤ Q ≤ 105) 이어 N-1줄에 걸쳐, U V의 형태로 트리에 속한 간선의 정보가 주어진다. (1 ≤ U, V ≤ N, U ≠ V)
www.acmicpc.net
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++] 백준 16198번 - 에너지 모으기 (0) | 2021.03.20 |
---|---|
[C/C++] 백준 2533번 - 사회망 서비스(SNS) (0) | 2021.03.20 |
[C/C++] 백준 1967번 - 트리의 지름 (0) | 2021.03.17 |
[C/C++] 백준 2887번 - 행성 터널 (MST, 크루스칼 알고리즘) (0) | 2021.03.15 |
[C/C++] 백준 9372번 - 상근이의 여행 (0) | 2021.03.15 |