목록BOJ/BFS (4)
Jun's Development Journey
문제 www.acmicpc.net/problem/16956 16956번: 늑대와 양 크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게 www.acmicpc.net 풀이 - BFS 라고 하기엔 애매하지만 늑대 위치를 입력하면서 저장해놓고, 늑대 위치에서만 상,하,좌,우 검사해줬다. - 네 방향 검사하면서 S가 나오면 어떻게든 막을 수 없는 경우이고, 그 이외엔 D를 찍어주면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav..
문제 www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net 풀이 1) 시간 초과 코드(그람없이 걸리는 시간, 그람을 이용하여 걸리는 시간 따로 구해서 비교) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class BOJ_17836 { static int[] dr = {1, -1, ..
문제 www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { static int N,M; static Queue queue; static int[] visit; static int[] parent; static void bfs(int st, int des) { parent[st] = st; visit[st] = 1; queu..
문제 www.acmicpc.net/problem/9372 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net 풀이 - BFS 활용 풀이 import java.io.*; import java.util.*; public class Main { static boolean[][] graph; static boolean[] visited; static int result; static void bfs(int N) { Queue queue = new LinkedList(); queue...