백준 트리
[백준, 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 2058] 원자의 에너지 (java)
https://www.acmicpc.net/problem/2058메모리: 16,212 KB , 시간: 140 ms사용 알고리즘: 다이나믹 프로그래밍, 트리에서의 다이나믹 프로그래밍, 트리이 문제는 구현보다 문제 자체를 이해하는 게 더 어려웠다. 문제를 간단히 정리하면,원자의 에너지 상태 = 노드라고 보고'어떤 에너지 상태(A)에서 다른 에너지 상태(B)로 변할 수 있는 방법은 한 가지뿐'이라는 문장으로어떤 노드(A)에서 다른 노드(B)로 갈 수 있는 방법이 하나뿐인 트리 문제라는 것을 알 수 있다. 어떤 노드(A) 값에서 어떤 양성자를 더하거나 빼서 다른 노드(B) 값이 나온다면 두 노드는 서로 연결되어 있다.A 노드에서 모든 양성자의 값을 더하거나 빼 본다.A 노드에서 양성자 값을 더하거나 뺀 값이 다..
백준, 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 19535] ㄷㄷㄷㅈ (java)
https://www.acmicpc.net/problem/19535 19535번: ㄷㄷㄷㅈ 첫 번째 줄에 주어진 트리가 D-트리라면 D, G-트리라면 G, DUDUDUNGA-트리라면 DUDUDUNGA를 출력한다. www.acmicpc.net 메모리: 88,744 KB , 시간: 516 ms 사용 알고리즘: 조합론, 수학, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { /** * 처음 문제를 해결할 때, * 모든 정점들 중 꼭 하나의 간선으로 이어져있는 정점들이 아니더라도 * 임의의 정점 4개를 뽑아서 * 뽑은 정점들 중 하나의 정점에서..
[백준, 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 20955] 민서의 응급 수술 (java)
https://www.acmicpc.net/problem/20955 20955번: 민서의 응급 수술 민서는 강원대학교 컴퓨터공학과의 신임 교수이다. 그녀가 저술한 효율적인 택배 배달을 위한 최적 경로 설계에 관한 연구 논문은 아직도 널리 인용되고 있다. 오늘도 열심히 강의를 하던 민서 www.acmicpc.net 메모리: 39,596 KB , 시간: 388 ms 사용 알고리즘: 유니온 파인드, 트리, 그래프 탐색, 그래프 이론 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[] parent; public static voi..
[백준, 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 4933] 뉴턴의 사과 (java)
https://www.acmicpc.net/problem/4933 4933번: 뉴턴의 사과 각 테스트 케이스에 대해서, 두 트리가 동등하면 true를, 아니면 false를 출력한다. www.acmicpc.net 메모리: 14,284 KB , 시간: 128 ms 사용 알고리즘: 자료 구조, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static Map child1; static Map child2; public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedR..
[백준, 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..