일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- DP
- 해시
- 백트래킹
- switch
- broadcast
- 깊이우선탐색
- 그리디
- 동적계획법
- Backtracking
- greedy
- 너비우선탐색
- BFS
- programmers
- HashMap
- 해시맵
- dynamic programming
- 구현
- 네트워크
- 스프링
- 이분탐색
- Spring
- Network
- 브루트포스
- DynamicProgramming
- 알고리즘
- boj
- 백준
- DFS
- Algorithm
- Today
- Total
목록깊이우선탐색 (2)
옌의 로그

문제 [백준] 트리의 기둥과 가지 (Camp > ICPC Sinchon Algorithm Camp > 2021 ICPC Sinchon Winter Algorithm Camp Contest > 초급 E번) 사용 알고리즘 - 깊이 우선 탐색 (DFS) 해결방법 루트노드가 주어지므로, 루트노드부터 DFS 탐색 기가노드를 만난 경우 => 기둥의 길이 도출 (gi_len) 리프노드를 만난 경우 => 가지의 길이 도출 (ga_len) 예외 케이스 루트노드가 기가노드인 경우 = 기둥 길이는 0 기가노드가 리프노드인 경우 (사실상 기가노드가 존재하지 않는 경우) = 가지 길이는 0 반례 케이스 기가노드가 루트노드인 경우, 2개의 자식을 가지는 노드 3번이 기가노드로 체크될 수 있다. 이 부분을 유의해서 풀었음 더보기 ..
문제 [백준] 효율적인 해킹 Contest > Internet Problem Solving Contest > IPSC 2008 B번 > N >> M; graph.resize(N+1); int from, to; for (int i=0; i> to >> from; graph[from].push_back(to); } int max_pc = 0; // 해킹 가능 최대 컴퓨터 수 vector res_com; // 컴터 번호 저장 for (int i=1; i= max_pc) { if (possible_com > max_pc) { max_pc = possible_com; res_com.clear(); } res_com.push_back(i); } fill(visited, visited+N+1, 0); // visit..