반응형

코딩 공부/백준 123

[백준][C++] 2636 치즈

알고리즘 종류 - 구현 - BFS, DFS 사고 과정 1. 치즈의 개수 구하기 2. 가장자리를 표시하기 3. 가장자리를 제거하기 4. 1~3 반복 구현(C++) 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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 ..

[백준][C++] 1005 ACM Craft

알고리즘 종류 - 위상 정렬 사고 과정 - 순서가 있는 정렬이기 때문에 위상 정렬을 떠올렸다. - 이전 건물들 A, B의 다음 건물이 C일 때, C의 최종 시간은 아래와 같다. max(A가 지어지기 까지의 누적 시간 + C가 지어는 시간, B가 지어지기 까지의 누적 시간 + C가 지어지는 시간) - 개별 건물이 지어지는 시간을 저장하는 배열 1개가 필요하다. - 누적 시간을 기록하는 배열 1개가 필요하다. 구현(C++) 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..

[백준][C++] 1647 도시 분할 계획

알고리즘 종류 - MST 사고 과정 - (잠깐의 읽기입니다)몇 달만에 풀어보는 문제였습니다. 두 그룹으로 나누기 위한 경우의 수를 순열조합으로 계산했습니다. 그런데 1억개가 넘어서 다른 방법을 찾아야 할 것 같았습니다. 하지만, 일단 해보기로 했습니다. 너무 오랜만이라서 vector를 사용하는 방법도 잊었습니다. 그렇게 잘 때가 다 되었습니다. 그래서 해설을 보기로 했습니다. - 목표는 마을을 두 개로 나누고 집을 잇는 경로의 최소 비용을 구하는 것입니다. 가장 먼저 떠오르는 방법은 아마도 다음과 같을 것 입니다. 1. 마을을 2개로 나눈다. 2. 마을에서 MST 알고리즘을 한다. 그런데, 이렇게 생각해 보면 어떨까요? 모든 집을 연결하는 최소 스패닝 트리를 먼저 구합니다. 이후, A집과 B집을 잇는 경..

반응형