본문 바로가기

Algorithm/Divide And Conquer

(2)
(C++) - 백준(BOJ) 16206번 : 롤케이크 https://www.acmicpc.net/problem/16206 16206번: 롤케이크 오늘은 재현이의 생일이다. 재현이는 친구 N명에게 롤케이크를 1개씩 선물로 받았다. 롤케이크의 길이는 A1, A2, ..., AN이다. 재현이는 길이가 10인 롤케이크만 먹는다. 따라서, 롤케이크를 잘라서 www.acmicpc.net 개인적으로 어려웠던 분할 정복 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 n만큼 롤케이크의 길이를 입력시 10으로 나눠떨어지는것은 ten에, 아닌 것은 notTen에 push_back했습니다. 📔 풀이과정 여러 경우를 나누어 생각해볼 수 있습니다. 1. 롤케이크 길이가 10인경우 : 자를 필요가 없습니다. ans를 더해줍니다. 2. 롤케이크 길이가 10보다 작은경우 : 이 또한 자..
(C++) - 백준(BOJ) 11729번 : 하노이 탑 이동 순서 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 분할정복 문제였습니다. 풀이방법 1. 1 -> 2로 n-1개 원판 옮김 2. 1 -> 3로 남은 한 개(가장 큰 원판) 옮김 3. 2 -> 3로 n-1개 원판 옮김 이 규칙을 적용하면 됩니다. Code #include using namespace std; //n-1개를 2로 옮기고 //마지막 남은 가장 큰 원판을 3으로 옮긴 뒤 //2에 있는 n-1개의 원판을 3으로 옮겨준다. int..