// 알고리즘 1. 최소 스패닝 트리 2. x,y,z좌표를 각각 listX,list,Y,listZ에 넣고 오름차순 정렬 3. 인접한 행성들끼리 연결시켜야 함. - 좌표를 담은 리스트들을 돌면서 인접한 행성을 list에 넣어줌 - 크루스칼 알고리즘으로 MST 구함. 더보기 import java.util.*; import java.io.*; public class 행성터널_2887 { static int N, parent[]; static class Point { int x, y, z, idx, from, to, cnt; public Point(int from, int to, int cnt) { super(); this.from = from; this.to = to; this.cnt = cnt; } publ..
// 알고리즘 1. 최단경로 ( 플로이드, 다익스트라 ) 2. 플로이드 알고리즘으로 각 노드마다 최단거리를 구함 3. 주어진 노드에서 각각노드까지의 최소합을 구해서 출력 더보기 import java.util.*; import java.io.*; public class 비밀모임_13424 { static int T, N, M, K, arr[], dis[][], ans; static final int inf = 1000001; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); T = Integer.parseInt(br.rea..
// 알고리즘 1. 다익스트라 2. 간선 리스트를 만들 때, 주어진방향과(list) 역순방향(RList) 둘다 저장 3. 다익스트라 알고리즘으로 최단 경로를 구함. 4. 마지막 도착 노드부터 Rlist를 이용하여 역순으로 가면서 최단 경로로 갈 수 있는 모든 연결선을 지움. (cal함수) - 재귀를 이용하여 제거 - 해당 노드를 기준으로 최단경로값(dist)으로 갈 수 있는 모든 경로를 다 지워야 함. 5. 다익스트라 알고리즘으로 거의 최단경로를 구함. 더보기 package baekjoon; import java.util.*; import java.io.*; public class 거의최단경로_5719 { static int N, M, S, D, dist[], pList[]; static Priority..