백준 알고리즘 풀이 1780번 - 종이의 개수
분할 정복 문제. - 알고리즘 - 1. 각 종이에 있는 모든 칸의 수가 같은지를 확인한다. 2. 모든 칸의 수가 같다면 그 칸에 있는 숫자 인덱스 값 1더한다. 3. 모든 칸의 수가 같지 않다면, 종이에 있는 칸의 갯수를 1/3로 줄이고, 첫 칸을 각 종이의 첫번째 항으로 한다. - 예외 조건 - 1. -1은 인덱스가 될 수 없으므로 값을 저장할 때 다 +1을 하고 넣어주어야 한다. 첫 칸을 각 종이의 첫번째 칸으로 하는게 좀 어려웠다. 간단히 생각해보면 for문을 두개 돌려서 넣으면 된다. -소스 코드- #include using namespace std; int map[2188][2188]; int count[4]={0,}; bool check(int num,int x,int y) { int isSa..
2019.09.05