백준 11725번 : 트리의 부모 찾기 / C++
2023. 3. 27. 17:51ㆍ개인공부/코딩테스트
https://www.acmicpc.net/problem/11725
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 42 43 44 45 46 | #include <iostream> #include <vector> #include <queue> using namespace std; vector<int> vec[100001]; int N; int ans[100001]{}; bool visited[100001]{}; queue<int> Q; void BFS() { Q.push(1); visited[1] = true; while (!Q.empty()) { int index = Q.front(); for(int i=0; i<vec[index].size(); ++i){ if (visited[vec[index][i]] == false){ visited[vec[index][i]] = true; ans[vec[index][i]] = index; Q.push(vec[index][i]); } } Q.pop(); } } int main() { cin.tie(NULL); cout.tie(NULL); ios::sync_with_stdio(false); cin >> N; for (int i = 0; i < N - 1; ++i){ int num1, num2; cin >> num1 >> num2; vec[num1].push_back(num2); vec[num2].push_back(num1); } BFS(); for (int i = 2; i <= N; ++i) { cout << ans[i] << '\n'; } } | cs |
'개인공부 > 코딩테스트' 카테고리의 다른 글
백준 14502번 : 연구소 / C++ (0) | 2023.03.29 |
---|---|
백준 5052번: 전화번호 목록 / C++ (0) | 2023.03.28 |
백준 4779번 : 칸토어 집합 / C++ (0) | 2023.03.27 |
백준 2638번 : 치즈 / C++ (0) | 2023.03.24 |
백준 2573번: 빙산 / C++ (1) | 2023.03.24 |