백준 너비 우선 탐색

    [백준, BOJ 4963] 섬의 개수 (java)

    https://www.acmicpc.net/problem/4963메모리: 16,044 KB , 시간: 152 ms사용 알고리즘: 그래프 이론, 그래프 탐색, 너비 우선 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Queue;import java.util.StringTokenizer;public class Main { static int[] dx = {-1, 1, 0, 0, -1, -1, 1, 1}; static int[] dy = {0, 0, -1, 1, -1, 1, -1, 1}; static int w, h; static int[]..

    [백준, BOJ 2644] 촌수계산 (java)

    https://www.acmicpc.net/problem/2644메모리: 14,136 KB , 시간: 100 ms사용 알고리즘: 그래프 이론, 그래프 탐색, 너비 우선 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(n..

    [백준, BOJ 1944] 복제 로봇 (java)

    https://www.acmicpc.net/problem/1944 1944번: 복제 로봇 첫째 줄에 미로의 크기 N(4 ≤ N ≤ 50)과 열쇠의 개수 M(1 ≤ M ≤ 250) 이 공백을 사이에 두고 주어진다. 그리고 둘째 줄부터 N+1째 줄까지 미로의 정보가 주어진다. 미로는 1과 0, 그리고 S와 K로 주어 www.acmicpc.net 메모리: 54,700 KB , 시간: 376 ms 사용 알고리즘: 너비 우선 탐색, 그래프 이론, 그래프 탐색, 최소 스패닝 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int N, M; static char..

    [백준, BOJ 1261] 알고스팟 (java)

    https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 메모리: 14,548 KB , 시간: 144 ms 사용 알고리즘: 너비 우선 탐색, 그래프 이론, 그래프 탐색, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.PriorityQueue; import java.util.Str..

    [백준, BOJ 2412] 암벽 등반 (java)

    https://www.acmicpc.net/problem/2412 2412번: 암벽 등반 어떤 암벽에 n(1 ≤ n ≤ 50,000)개의 홈이 파져 있다. 각각의 홈의 좌표는 (x, y)와 같이 표현되는데, |a - x| ≤ 2이고 |b - y| ≤ 2이면 (x, y)에서 (a, b)로 이동할 수 있다. 이와 같이 홈들을 이용하여 이동 www.acmicpc.net 메모리: 54,560 KB , 시간: 520 ms 사용 알고리즘: 너비 우선 탐색, 자료 구조, 그래프 이론, 그래프 탐색, 해시를 사용한 집합과 맵 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { publ..

    [백준, BOJ 1240] 노드사이의 거리 (java)

    https://www.acmicpc.net/problem/1240 1240번: 노드사이의 거리 첫째 줄에 노드의 개수 $N$과 거리를 알고 싶은 노드 쌍의 개수 $M$이 입력되고 다음 $N-1$개의 줄에 트리 상에 연결된 두 점과 거리를 입력받는다. 그 다음 줄에는 거리를 알고 싶은 $M$개의 노드 쌍 www.acmicpc.net 메모리: 51,152 KB , 시간: 388 ms 사용 알고리즘: 너비 우선 탐색, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; ..

    [백준, BOJ 1939] 중량제한 (java)

    https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 메모리: 55392 KB , 시간: 540 ms 사용 알고리즘: 너비 우선 탐색, 자료 구조, 그래프 이론, 그래프 탐색 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static voi..

    [백준, BOJ 1938] 통나무 옮기기 (java)

    https://www.acmicpc.net/problem/1938 1938번: 통나무 옮기기 첫째 줄에 주어진 평지의 한 변의 길이 N이 주어진다. (4 ≤ N ≤ 50) 주어진다. 이어서 그 지형의 정보가 0, 1, B, E로 이루어진 문자열로 주어진다. 한 줄에 입력되는 문자열의 길이는 N이며 입력 문 www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; public class Main { static int[] dx = {-1, 1, 0, 0}; static int[] d..

    [백준, BOJ 20058] 마법사 상어와 파이어스톰 (java)

    https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int N; static int Q; static int m..