divide
-
코테 일기(11) : 백준 [1780번] 종이의 개수프로그래밍/C++ 2020. 4. 22. 20:28
전형적인 divide and conquer 문제이다. 코드를 짜는데 30분 밖에 걸리지 않았지만, 그 놈의 시간초과 때문에 한참을 애썼다. 코드 #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int pr[3]; //pr[0] -> -1, pr[1] -> 0, pr[2] -> 1 vector input; //입력 받을 배열 typedef struct { int row; int col; } place; void div_paper(int param, place pl) {//배열과 배열 크기, 위치를 인자로 넣음 if (param == 1) { //크기가 1개면 바로 return 할 수 있게 함. if (input[..
-
코테 일기(8) : 하노이탑(The tower of Hanoi)프로그래밍/C++ 2020. 4. 20. 14:02
하노이탑은 Divide and Conquer(정복 분할 기법)에서 가장 많이 다뤄지는 문제 중 하나다. A에서 B를 거쳐 C로 옮기기 위해 하노이 탑의 순서는 다음과 같다. 1. (1,2)를 B로 옮긴다. 2. (3)을 C로 옮긴다. 3. (1,2)를 C로 옮긴다. 이를 코드로 그대로 옮기면 다음과 같다. Code //하노이탑 만들기 #include using namespace std; int hanoi(int a, int b, int c, int d); int main() { int N; cout