//알고리즘 1. 최대 20만까지인 배열이므로 완탐으로 풀면 시간초과 -> 아이디어를 요구하는 문제인듯. 2. 규칙대로 진행하면 버블정렬이 되는것을 알 수 있음. 3. W~B순으로 정렬하면 되니까 맨 뒤의 B부터 정렬할 횟수를 계산. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class 카드뒤집기 { static int T; static long Ans; static char[] arr; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new ..
//알고리즘 1. 모든 경우를 다 해봐야하는 완탐문제 2. A일꾼의 일한 곳을 기준으로 B일꾼은 A일꾼이 일하지 않은 곳 전부 탐색. 3. 부분집합을 사용하여 나올 수 있는 가장 큰 수 저장. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 벌꿀채취 { static int T, N, M, C, map[][], max; public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new..
//알고리즘 1. 8방 체크 완전탐색문제. 2. 8방을 체크할 수 있는 dr, dc 배열을 만들고 시작함. 3. dfs를 돌리는데 방문배열을 따로 쓰지말고 기존의 map 배열을 초기화. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 현수막_14716 { static int M, N, map[][]; static int[] dr = { -1, -1, -1, 0, 1, 1, 1, 0 }; static int[] dc = { -1, 0, 1, 1, 1, 0, -1, -1 }; public static void..