백준 깊이 우선 탐색
[백준, BOJ 16437] 양 구출 작전 (java)
https://www.acmicpc.net/problem/16437메모리: 71,792 KB , 시간: 1,092 ms사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.StringTokenizer;public class Main { static boolean[] isSheep; static int[] count; static ArrayList> edges; public static void main(String[] args) throws Exception{ Buffe..
[백준, BOJ 1520] 내리막 길 (java)
https://www.acmicpc.net/problem/1520메모리: 34,424 KB , 시간: 396 ms사용 알고리즘: 깊이 우선 탐색, 다이나믹 프로그래밍, 그래프 이론, 그래프 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int M, N; static int[][] map; static int[][] can_move; static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; public static void main(Stri..
[백준, BOJ 16432] 떡장수와 호랑이 (java)
https://www.acmicpc.net/problem/16432메모리: 16,364 KB , 시간: 176 ms사용 알고리즘: 깊이 우선 탐색, 다이나믹 프로그래밍, 그래프 이론, 그래프 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int N; static boolean[][] rice_cake; static boolean[][] visited; static int[] pick; public static void main(String[] args) throws Exception{ Buf..
[백준, BOJ 9466] 텀 프로젝트 (java)
https://www.acmicpc.net/problem/9466메모리: 307,900 KB , 시간: 1,352 ms사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int[] s; static boolean[] visited; static int[][] order; static int result; public static void main(String[] args) throws Exception{ BufferedReader br = n..
백준, BOJ 14657] 준오는 최종인재야!! (java)
https://www.acmicpc.net/problem/14657 14657번: 준오는 최종인재야!! 첫째 줄에 문제의 수 N, 하루 풀이 시간 T가 주어진다. (2 ≤ N ≤ 50,000, 1 ≤ T ≤ 100,000) 이후 둘째 줄 부터 N-1개의 줄에 걸쳐 각 줄마다 A, B, C가 주어진다. (1 ≤ A, B ≤ N, 1 ≤ C ≤ 1,000) A와 B는 www.acmicpc.net 메모리: 53,340 KB , 시간: 712 ms 사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static..
[백준, BOJ 12896] 스크루지 민호 (java)
https://www.acmicpc.net/problem/12896 12896번: 스크루지 민호 구두쇠로 유명한 스크루지 민호가 다스리는 천나라가 있다. 천나라에는 N 개의 도시들이 있는데 각각의 도시들 사이에는 양방향 도로로 이어져 있다. 민호는 도시를 세울 때 최소한의 비용만을 www.acmicpc.net 메모리: 62,004 KB , 시간: 532 ms 사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { private static ArrayList edges; private static boolea..
[백준, BOJ 1595] 북쪽나라의 도로 (java)
https://www.acmicpc.net/problem/1595 1595번: 북쪽나라의 도로 입력은 여러줄에 걸쳐 주어진다. 입력의 각 줄은 세 개의 양의 정수로 구성되어있는데, 각각은 차례대로 서로 다른 두 도시의 번호와 두 도시를 연결하는 도로의 길이를 의미한다. 모든 도로는 www.acmicpc.net 메모리: 17,220 KB , 시간: 188 ms 사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.StringTokenizer; public..
[백준, BOJ 19542] 전단지 돌리기 (java)
https://www.acmicpc.net/problem/19542 19542번: 전단지 돌리기 현민이는 트리 모양의 길 위에서 오토바이를 타고 전단지를 돌리려고 한다. 현민이의 목표는 케니소프트에서 출발하여 모든 노드에 전단지를 돌리고, 다시 케니소프트로 돌아오는 것이다. 현민 www.acmicpc.net 메모리: 63,420 KB , 시간: 568 ms 사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { static int D..
[백준, BOJ 4803] 트리 (java)
https://www.acmicpc.net/problem/4803 4803번: 트리 입력으로 주어진 그래프에 트리가 없다면 "No trees."를, 한 개라면 "There is one tree."를, T개(T > 1)라면 "A forest of T trees."를 테스트 케이스 번호와 함께 출력한다. www.acmicpc.net 메모리: 69,404 KB , 시간: 576 ms 사용 알고리즘: 자료 구조, 깊이 우선 탐색, 분리 집합, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java..
[백준, BOJ 19641] 중첩 집합 모델 (java)
https://www.acmicpc.net/problem/19641 19641번: 중첩 집합 모델 S번 노드가 루트 노드일 때, 번호가 가장 낮은 노드부터 오름차순으로 방문해서 중첩 집합을 구성했을 때, 각 노드의 번호 left 필드와 right 필드를 출력한다. 총 N개의 줄에 걸쳐 i번째 줄에 i번 www.acmicpc.net 메모리: 98,232 KB , 시간: 936 ms 사용 알고리즘: 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.String..