//알고리즘 1. 완전탐색 문제 + 백트래킹 2. 모든 점들을 돌면서 주어진 모양을 대입해서 가격을 구해야 함. -> 'ㅜ' 생긴 모양 빼고는 주어진 좌표에서 깊이가 3인 dfs탐색을 하면 모든 모양을 만들어 낼 수 있음. 3. 'ㅜ'모양만 따로 처리해주면 쉽게 풀 수 있음. 4. dfs탐색으로 모양을 만들어낼 수 있다는 아이디어가 해결방법. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 테트로미노_14500 { static int N, M, map[][], ans; static int[] dr = { ..
//알고리즘 1. 탐색문제 2. bfs사용 거리가 가까운 물고기가 많다면, 가장 위에 있는 물고기, 그러한 물고기가 여러마리라면, 가장 왼쪽에 있는 물고기를 먹는다. -> 이 조건 때문에 0,0부터 탐색하는 방법으로 해결. 단, 시간과 메모리 많이 소모, N값이 20까지라 가능한 방법 우선순위큐를 사용하여 조건을 처리해준다면 메모리, 시간 둘다 줄일 수 있음. 추후 업로드 예정 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.ut..
//알고리즘 1. 완전탐색 문제 2. bfs 3. 3차원 방문배열을 사용 -> 말처럼 뛰어서 간 배열과 1칸씩만 뛰어서 간 배열이 달라야 함. -> 같은 배열을 사용하여 체크할경우 풀 수없음. 4. 말처럼 뛰는 배열(drr,dcc) 1칸씩만 뛰는 배열(dr,dc) 사용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class 말이되고픈원숭이_1600 { static int K, W, H, map[][],ans = Inte..