백준 11725 트리의 부모 찾기

2020. 9. 10. 17:40·알고리즘/BOJ

www.acmicpc.net/problem/11725

 

11725번: 트리의 부모 찾기

루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.

www.acmicpc.net

그래프에 입력받고 DFS이던 BFS이던 해준 뒤에 2부터 N까지의 부모 노드를 저장해주면 된다.

#include <iostream>
#include <vector>
#include <map>
using namespace std;

vector<vector<int>> ar;
bool vis[100001];
map<int, int> M;

void dfs(int cur) {
	vis[cur] = true;
	for (auto i : ar[cur]) {
		if (!vis[i]) {
			M[i] = cur;
			dfs(i);
		}
	}
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);

	int n;
	cin >> n;
	ar.resize(n + 1);
	for (int i = 0; i < n - 1; i++) {
		int x, y; cin >> x >> y;
		ar[x].push_back(y);
		ar[y].push_back(x);
	}
	dfs(1);

	for (auto i : M) {
		cout << i.second << '\n';
	}

	return 0;
}

map도 연습해볼 겸 사용해봤다.

'알고리즘 > BOJ' 카테고리의 다른 글

백준 1167 트리의 지름  (0) 2020.09.10
백준 1967 트리의 지름  (0) 2020.09.10
백준 1991 트리 순회  (0) 2020.09.10
백준 19699 소-난다!  (0) 2020.09.10
백준 2146 다리 만들기  (0) 2020.09.10
'알고리즘/BOJ' 카테고리의 다른 글
  • 백준 1167 트리의 지름
  • 백준 1967 트리의 지름
  • 백준 1991 트리 순회
  • 백준 19699 소-난다!
khyu2
khyu2
  • khyu2
    dev log
    khyu2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘
        • BOJ
        • Programmers
        • Algorithm
        • SWEA
      • 개발
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    피사노 주기
    알고리즘
    이분 탐색
    완전 탐색
    냅색
    시뮬레이션
    dfs
    완전탐색
    큐
    트리
    프로그래머스
    dp
    BOJ
    BFS
    조합
    구현
    피보나치 수
    크루스칼
    분할 정복
    SWEA
    소수
    코딩테스트 연습
    행렬 제곱
    유니온 파인드
    다익스트라
    이분탐색
    팰린드롬
    우선순위 큐
    GREEDY
    MST
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
khyu2
백준 11725 트리의 부모 찾기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.