https://www.acmicpc.net/problem/16173
[문제 해결]
저는 DFS를 이용한 완전 탐색으로 문제를 해결 하는데,
BFS로도 문제를 해결하실 수 있습니다.
[java]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
private static int[][] map;
private static boolean check = false;
private static int n;
public static void main(String[] args) throws IOException {
input();
dfs(0,0,n);
if(check) System.out.println("HaruHaru");
else System.out.println("Hing");
}
private static void dfs(int x, int y, int last){
if(map[x][y] == 0) return;
if(map[x][y] == -1){
check = true;
return;
}
// 아래
if(x + map[x][y] >= 0 && x + map[x][y] < last)
dfs(x + map[x][y], y, last);
// 오른족
if(y + map[x][y] >= 0 && y + map[x][y] < last)
dfs(x, y + map[x][y], last);
}
private static void input() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
map = new int[n][n];
for(int i=0; i<n; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
for(int j=0; j<n; j++) map[i][j] = Integer.parseInt(st.nextToken());
}
}
}
'PS > 백준' 카테고리의 다른 글
백준 안전영역 2468 - java (0) | 2022.08.26 |
---|---|
알고리즘 수업 - 깊이 우선 탐색 (0) | 2022.08.19 |
백준 알고리즘 수업 - 너비 우선 탐색 4 (24447) - Java (0) | 2022.08.01 |
백준 - 알고리즘 수업 (24444) - Java (0) | 2022.07.31 |
백준 가희와 키워드 (22233) - Java (0) | 2022.07.29 |