혼종 꼬지마루
https://www.acmicpc.net/problem/18192 음... 정~~~~말 오랜만에 문제를 풀려고 앉았는데.... 재밌는 문제라해서 들어가 봤더니 이런 세상에?? 마치 B형 시험과 같이, 주어지는 header나 cpp파일을 include 해야 되는 문제.... 문제도 뭔가 되게 긴장되게 생겼지만, 문제가 B형에 비해서 상당히 허술하다.... 비교를 하자면, B형은 내가 생각할 때 크게 두가지로 나뉘는 것 같다.1. 충실히 구현만 하면 풀 수 있다. 하지만,,,, 최적화 부분에서 score가 메겨지는 유형2. 구현이 거지같이 힘들거나 어려운 문제 그러나 이 문제는 그냥.... 허술하기 짝이 없다;; 주어지는 조건이라고는 함수 호출 2500번이 끝.... 한마디로 주어지는 최적화 답과는 달라도..
https://www.acmicpc.net/problem/17070이 문제와 상당히 유사하고, 2019/10/13 - [Algorithms/DP] - [백준] 17070 - 파이프 옮기기에 위 문제의 풀이를 포스팅 하였으니 왜 같다고 생각한지 확인 해보시길... 먼저 이 문제는 dfs로 풀면 아주, 상당히, 시간이 걸릴 문제다. 그렇기 때문에, dfs에 dp를 먹여서 가지도 쳐 주고, 무한 루프도 쉽게 찾을 수 있다. 한번 끝까지 간(범위를 벋어나거나, 구멍에 빠지거나) 한 동전은 돌아오며 그 길이를 저장한다. 즉, 좌표에 끝까지 갔을 경우, 최대 몇번까지 움직일 수 있는지를 저장한다. 한마디로 구멍이나, 범위를 벋어난 동전은 재귀 호출에 return 할때 1, 2, 3....순으로 돌아오는 좌표에 저장..
https://www.acmicpc.net/problem/1103위의 문제와 상당히 유사했고, 한번 유사문제를 풀어봤기 때문에 '음... 이런 느낌으로 풀면 되겠네?' 하고 슥슥 했는데 한번에 통과됨... 풀어놓고도 왜 된거지? 했음 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 일단 이 문제는 dfs + dp의 유형이라고 본다. 한번 탐색했던 경로에 경로의 갯수를 저장, 즉, 끝까지 한번 가면 돌아오는길에 그 포인터에 이전에 갯수를 더해주고 저장한다. 최초에 목적지에 도착한 파이프는 그 지점에서 1개의 경로를 가지기 때문에 1을 return 받는다. 그럼 return 된 1이 이전의 좌표의 visit 배열에 더해주고 저장한다. 바로 이전 점에서 다른 경로를 탐색하고, return 받을 수 있다면 return 받은 값을 더하고 저..