1. "(dp[4] * dp[2]) + (dp[4]의 고유모양 * dp[2]) + dp[6]"의 고유모양으로 풀 수 있습니다.
하지만 앞부분에서 dp[4] * dp[2] 부분에서 dp[4]의 고유모양에 대한 계산이 이루어졌는데 다음 항에서 dp[4] * dp[2]을 왜 또 해야하는지 궁금합니다
곱셈식이 반대로 되서 헷갈린신거 같습니다
dp[a] * dp[b] = 앞의 a칸으로 만들수 있는경우의 수 * 뒤의 b칸으로 만들 수 있는 경우의 수입니다.
따라서 dp[4] * dp[2] 는 6칸 중 앞의 4칸으로 만들 수 있는 경우의 수 * 뒤의 2칸으로 만들 수 잇는 경우의 수 입니다.
이렇게만 계산되어 버리면 뒤의 4칸을 고유 모양으로 만들 수 있는 계산이 들어가지 않습니다.
따라서 dp[2] * dp[4]의 고유모양 => 앞의 2칸으로 만들 수있수 * 뒤의 4칸으로 만들 수 있는 "고유 모양수" 를 추가하셔야됩니다.
중복으로 간주합니다.
dp[2] * dp[4] 를 하면 위에 써놓은 곱셈식에 의해
앞 2칸 * 뒤 4칸이 되어버립니다.
따라서 dp[2] * dp[4]와 결과가 dp[2] * dp[2] * dp[2] 만큼 중복된다고 할 수있겠네요!
1번과 비슷합니다.
설명이 거지같아서 이해가 되실지모르겠네요...
jaeseb96 4년 전
N == 6 일 때,
1. "(dp[4] * dp[2]) + (dp[4]의 고유모양 * dp[2]) + dp[6]"의 고유모양으로 풀 수 있습니다.
하지만 앞부분에서 dp[4] * dp[2] 부분에서 dp[4]의 고유모양에 대한 계산이 이루어졌는데 다음 항에서 dp[4] * dp[2]을 왜 또 해야하는지 궁금합니다
2. 같은 N==6의 경우로 dp[4] * dp[2]의 경우는 계산되는데 왜 dp[2] * dp[4]의 경우는 하지 않나요? 중복으로 간주하고 계산하지 않는 것인가요?