전형적인 경우의 수 나눠서 DP로 푸는 문제다특정 층을 한 색으로만 칠할 때, 두 색으로 칠할 때, 세 색으로 칠할 때로 나눠서 그에 맞게 경우의 수 넣어주고 계산시켜주면 되는 문제최적화하겠답시고 넣어둔 캐싱용 f2, f3(팩토리얼)에 오타 생겨서(1680을 1080으로 집어넣음) 2번이나 틀려놓고 애꿎은 로직만 갈궜던 문제#include #include using namespace std;int N, R, G, B;long f2[6] = {1, 2, 6, 20, 70, 252};long f3[4] = {1, 6, 90, 1680};vector>>> memo;long dfs(int m, int r, int g, int b) { if (r > N >> R >> G >> B; //초기화 me..