왼칸부터 채워나가면 나올 수 있는 다음 판의 상태가 2가지밖에 없어요.
그 2가지 판을 채우는 경우를 재귀로 구하시면 될 거 같아요.
AA#
BB#
CC#
AA#
B##
B##
A##
A##
BB#
첫번째는 다시 꽉찬 3N 이 나오는데 두번째, 세번째는 2줄+3줄~ 이네요. 이렇게 2가지 상태밖에 없고 겹치는 경우는.. 없을 거 같은데요?
###
###
X##
를 채우는건
AA#
BB#
XCC
A##
A##
X##
이렇게 2개밖에 없겠네요.
2133번 - 타일 채우기
dp[i][0] 에서 i가 i번째 줄까지의 상태 아닌가요? 저도 "짝수일때 타일의 독립적인 부분", "겹치는 부분" 이라는게 뭘 말씀하시는 지 잘 이해를 못했어요.
#는 빈칸을, AA BB 는 같은 알파벳끼리 하나의 덩어리를, X는 이미 채워진 칸을 표현했습니다. 타일이 그 모양으로 있는거지요.
처음 3개의 모양이 3xN 에서 나올 수 있는 (왼쪽칸부터 채우는) 경우이고, 나머지는 그렇게 채운 과정에서 첫칸이 2줄+이후에 3줄을 (왼쪽칸부터) 채우는 경우입니다.
아무래도 이 링크가 더 설명을 잘 했을 것 같네요. 도움이 되시면 좋겠습니다.
댓글을 작성하려면 로그인해야 합니다.
busyhuman 8년 전
짝수일때 타일의 독립적인 부분
dp[i][0] = 3, 9 , 27 ...
그리고 겹치는 부분
dp[i][1] = 0, 2, 14...
로 해서 d[n][0]+d[n][1]로 답을 구해보고 싶은데
어떻게 구해야할 지 모르겠습니다. 특히 겹치는 부분이요.
어디서부터봐야 식을 쉽게 짤 수 있을까요?
코드는 갈아엎어서 없습니다.