트리에서는 사이클이 존재하지 않기 때문에 단절선이 아닌 선은 없다.
단절점 같은 경우 연결된 간선이 2개 이상이면 단절점이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <stdio.h> #include <vector> #define n_ 100005 using namespace std; vector<int> tree[n_]; int main(void) { int n, q, t, k; scanf("%d", &n); for (int i = 0; i < n- 1; i++) { int a, b; scanf("%d %d", &a, &b); tree[a].push_back(b); tree[b].push_back(a); } scanf("%d", &q); for (int i = 0; i < q; i++) { scanf("%d %d", &t, &k); if (t == 2) { printf("yes\n"); } else { int cnt = 0; for (int j : tree[k]) { cnt++; } if (cnt >= 2) { printf("yes\n"); } else { printf("no\n"); } } } return 0; } | cs |
'알고리즘 > PS' 카테고리의 다른 글
[백준 14671] 영정이의 청소 (0) | 2018.05.26 |
---|---|
[백준 14670] 병약한 영정 (0) | 2018.05.26 |
[백준 12840] 창용이의 시계 (0) | 2018.05.23 |
[백준 12842] 튀김 소보루 (0) | 2018.05.23 |
[백준 12841] 정보대 등산 (0) | 2018.05.23 |