[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] 백준 15681 트리와 쿼리
2021. 9. 7. 21:38
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/15681 15681번: 트리와 쿼리 트리의 정점의 수 N과 루트의 번호 R, 쿼리의 수 Q가 주어진다. (2 ≤ N ≤ 105, 1 ≤ R ≤ N, 1 ≤ Q ≤ 105) 이어 N-1줄에 걸쳐, U V의 형태로 트리에 속한 간선의 정보가 주어진다. (1 ≤ U, V ≤ N, U ≠ V) www.acmicpc.net 풀이 방법 수정중.. JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Linke..
[JAVA] SWEA 7465 창용 마을의 무리의 갯수
2021. 8. 24. 22:06
알고리즘/SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWngfZVa9XwDFAQU SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 입력 예제 중 6 5 1 2 2 5 5 1 3 4 4 6 를 그림으로 간단하게 나타보면 이렇게 표현할 수 있다. 1번 사람은 2,5번과 알고 있고(양방향이므로 5번도 알고 있음), 2번~6번도 예제와 마찬가지이다. 그래서 무리는 2개가 만들어지는 것을 알 수 있다. 전형적인 DFS문제로, 각 번호와 연결된 사람들을 끝까지 파고들다보면 무리가 하나씩 형성되는 것을 알 수 있다! 그림과 똑같..
[JAVA] 백준 10026 적록색약
2021. 8. 23. 21:34
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 풀이 방법 1. 2차원 배열을 한칸씩 돌면서, DFS로 구역 개수를 구함 -> 여기서 구한 개수는 적록색약 아닌 사람이 보는 구역 2. 적록색약은 빨강과 초록을 같은 색으로 본다고 했으므로 원래 2차원 배열에서 빨강인 부분을 초록으로 만들어주고, 다시 DFS 로 구역 개수를 구함-> 적록색약인 사람이 보는 구역 JAVA 코드 import java.io.BufferedReader; impor..