[JAVA] 정올 1681 해밀턴 순환 회로
2021. 9. 23. 17:54
알고리즘/정올
http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=954&sca=3030 JUNGOL www.jungol.co.kr 풀이 방법 N이 작기 때문에 모든 방법을 다 해보는 완전탐색이 가능하다. 따라서 DFS를 이용해 모든 경로를 탐색하며 최소 거리를 구했다. 시간을 줄이기 위해 구한 최소거리보다 지금 가고있는 거리가 더 크다면, 그 방법은 구하지 않았다. (if(cnt+map[r][i]>=min) continue;) 또한, 마지막으로 방문한 곳 -> 1로 가는 거리를 구할 때 그래프가 연결되어있지 않다면 거리를 구하지 않아야 한다. 자바 코드 import java.io.BufferedReader; import java.io.IOException; import ..
[JAVA] 백준 1987 알파벳 풀이
2021. 8. 20. 17:57
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1987 풀이 방법 1. 시작 위치에서 사방탐색, 방문하지 않은 알파벳이 있다면 count++ && 진출하고 계속 탐색 (DFS) 2. 만약, 재귀가 끝났다면 count와 max 값을 비교 3. 재귀가 끝난 후, 다시 되돌아 가면서 방문했던 알파벳을 false로 && count 값 -1 틀렸던 부분 & 주의할 부분 1. 되돌아갈 때 count -1 을 꼭 해주어야 함 2. 되돌아 갈 때 조건의 위치!! JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; publ..
[JAVA] 백준 3109 빵집 풀이
2021. 8. 20. 09:47
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 풀이 방법 1. DFS로 시작부분부터 탐색한다. 2. 끝까지 갔는데 최종 y좌표가 C-1과 같다면, 파이프라인이 설치된 것 => 다른 탐색 필요없음, 파이프라인 생성 여부 저장 3. 다른 탐색을 하기 위해 되돌아갈 때, 파이프라인 생성 여부가 true라면 방문 표시하고 return 틀렸던 부분 & 주의할 부분 1. 좌표를 방문할 때마다 방문 표시를 해줬는데 이렇게 하니 실패한 파이프라인의 방문 표시를 false로..