PS/boj
-
BOJ)1915 - 가장 큰 정사각형PS/boj 2022. 9. 25. 12:46
정사각형의 조건 검사하자는 걸로 접근: 정사각형 한 변의 길이가 짝수, 홀수로 구분하여 정사각형의 중심을 기준으로 생각, 가능하려면 적어도 인접한 두 지점이 1이어야 함. 중간까지 시도 하다가 너무 복잡해지고 접근을 잘못한 거 같단 생각 들고 못 품. 다른 답변 보고 제출했는데 나중에 비슷한 문제 똑같이 풀 수 있을지 모르겠음.. 변의 길이가 1 보다 큰 정사각형 안에는 그보다 작은 정사각형이 있음. dp 생각, 점화식 세우기 dp(i, j) = i, j 를 우하단으로 하는 정사각형의 최대 변 길이 dp(i, j) = min(dp[i][j - 1], dp[i - 1][j], dp[i - 1][j - 1]) + 1 n, m = map(int, input().split()) board = [input() f..
-
BOJ)1389 - 케빈 베이커의 6단계 법칙PS/boj 2022. 9. 24. 12:54
최소 거리랑 그래프 보고 BFS 생각함. V, E 갯수 제한 보고 인접 리스트 생각함. search 함수에서 전부 방문했으면 안 돌아도 되는거 처리 할 수 있는거 같은데 시간 문제 없어서 넘어감. 문법 헷갈려서 아직 콘솔 안 찍어보면 삐걱거림. 풀이 너무 오래 걸림. import sys from collections import deque input = sys.stdin.readline N, M = map(int, input().split()) board = [[] for _ in range(N + 1)] for _ in range(M): x, y = map(int, input().split()) board[x].append(y) board[y].append(x) def search(x): dq = de..
-
BOJ)15686 - 치킨배달PS/boj 2022. 9. 22. 23:11
치킨 거리를 구하는 것은 O(1)로 가능 집에서 치킨집 까지의 거리를 모두 구한 리스트를 만들고 선택한 M 개의 치킨집까지의 거리 중에서 최솟값의 합을 구하면 nCm 개의 도시의 치킨거리가 나올텐데 그 중에 최솟값이 ans 라고 생각 최악의 경우를 고려해도 시간초과가 나지 않아 보였음. 13Cm 인데 여기서 m은 1~13, Combination 연산 최댓값 생각해도 13C7 대략 O(집 100 * 치킨집 7 * 13C7) sol 1 로 제출하고 다른 모범 답안 참조하여 sol 2로 수정함. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 # sol 1 impor..
-
boj)2250 - 트리의 높이와 너비PS/boj 2020. 12. 12. 13:19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 import java.io.*; import java.util.StringTokenizer; public class boj_2250 { static BufferedReader br = new BufferedReader(new InputStreamReader..
-
boj)1991 - 트리 순회PS/boj 2020. 12. 11. 14:43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 import java.io.*; import java.util.StringTokenizer; public class boj_1991 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static int n; static N..
-
boj)7562 - 나이트의 이동PS/boj 2020. 12. 10. 21:31
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 import java.io.*; import java.util.*; public class boj_7562 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static int[] dx = {2, 1, -1..
-
boj)11723 - 집합PS/boj 2020. 12. 9. 20:08
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 import java.io.*; import java.util.StringTokenizer; public class boj_11723 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static Str..
-
boj)14391 - 종이 조각PS/boj 2020. 12. 9. 18:44
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 import java.io.*; import java.util.StringTokenizer; public class boj_14391 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static int row, col, max; static int[][] m..