1. 알약이 최대 30개인데 반으로 쪼개 먹을 수도 있으니 최대 60번. 그러면 먹냐 안먹냐니까 최대 경우의 수가 2^60까지 될 수 있음. 2. 가능한 문자열의 경우의 수기에 경우의 수 덧셈으로 진행하면 될 것 같음. 1. 2^60은 말도 안되지만, 경우의 수 덧셈이라면 얘기가 다름. 2. 재귀로 경우의 수를 돌면서 메모제이션을 진행하면 충분히 가능할 수 있음. 3. 알약 한 조각을 꺼내면 반 조각 갯수를 올리고, 만약 반 조각을 먹는다면 한 조각 갯수를 안 내리면 됨. #include using namespace std;int n;long long dp[40][40];long long go (int day, int half){ if (day 0) { if (half 0) ..