[BAEKJOON] 14502번 연구소
·
Algorithm/Brute Force
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제조건 벽(1)을 무조건 3개를 세운다. 벽은 바이러스(2)가 퍼져 나가는걸 막아준다. 안전영역(0)의 크기가 최댓값은 얼마인가? 접근방법 애초에 입력이 8이하로 너무 작아서 진짜 내 맘대로 구현할 수 있는 문제였다. 처음에는 최대한 깔끔하게 로직을 짤 수 없을까란 생각이 계속 들었지만, 그리디도 아니고, 어느 알고리즘도 적용할 수 없었다. 여기에 시간을 좀 많이 쏟은것 같다. 단순하게 문제조건만 맞춘다면 ..
[BAEKJOON] 1937번 욕심쟁이 판다
·
Algorithm/Dynamic Programming
https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에 www.acmicpc.net 문제조건 n x n 크기의 대나무숲 어디든지 판다를 풀어놓을수 있다. 판다는 대나무를 다먹으면 상, 하, 좌, 우 중 한지역으로 이동한다. 이동하는 칸의 대나무가 원래있던 칸의 대나무 수보다 많아야 이동한다. 가장 많이 이동하는 경우의 이동수는? 접근방법 문제를 보자마자 생각이 들었다. '아 그냥 완전탐색돌려서 최댓값 갱신해서 찾자' 내가 좋아하는 DFS 알고리즘으로 모든 경우의 수를 ..
[BAEKJOON] 14500번 테트로미노
·
Algorithm/Brute Force
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 문제조건 연결된 4개의 정사각형 블록으로 모양을 만든다. 만들어진 모양을 종이위에 올렸을때, 4개의 숫자의 합의 최댓값은? 접근방법 완전탐색을 위해서 brute force로 접근해봤다. 그래서 전체 map을 돌면서 DFS를 수행할 수 있도록 구현했다. #include using namespace std; int n, m, map[501][501], visited[501][501]; int dy[]..
[BAEKJOON] 12919번 A와 B 2
·
Algorithm/DFS
https://www.acmicpc.net/problem/12919 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net 문제조건 A,B로만 이루어진 두 문자열 S, T 가 주어지고, S를 T로 바꾼다. 문자열뒤에 A를 추가한다. 문자열의 뒤에 B를 추가하고 문자열을 뒤집는다. S를 T로 바꿀수 있으면 1 출력, 아니면 0 출력 S에서 두가지 행동만 할 수 있는데 행동들이 전부 문자 길이를 늘리는 것이므로 S, T가 똑같은 길이가 되었을때, 같은 문자열이 아니라면 0을 출력하..
[BAEKJOON] 7568번 덩치
·
Algorithm/Brute Force
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 문제조건 몸무게 : x, 키 : y → (x, y) x, y 둘다 커야 덩치가 더 크다고 한다. 각 사람의 덩치 등수를 매긴다 이 문제는 진짜 너무 쉽다,,,, 그냥 완전 탐색 문제였다. 한명씩 전부 비교해보면서 각각 등수를 출력하기만 하면된다,,! #include #include int n; using namespace std; vector v; int main(){ cin >> n..