zxcv1534   7년 전

2048(easy)는 정답을 받았습니다. 하지만 hard는 10번이라 그런지 시간초과가 나는데요. 어떻게 이걸 줄여야할지 감이 안 옵니다. 방향이라도 알려주실 친절한 분 계신가요??

코드는 재귀로 각 방향으로 움직이는 함수를 따로 구현하여 모두 다 시행해보는 것으로 하였습니다. 

재귀가 아닌 방법으로 해야 할까요? 그럼 무엇으로 해야할지 잘 모르겠습니다. 

도움 부탁드립니다.

sung1104hyun   7년 전

저는 이동했을때 변화가 없을경우 같은방향을 추가적으로 탐색하지 않는 방법과

최대값을 계속 갱신 시켜주면서  현재 Depth에서 최대값에 절대 도달할 수 없다고 판단되는 경우 가지치기하는 방법으로 해서 AC받았습니당..

예를들어 10번 이동했을때 현재 가지고있는 최대값이 1024이라면 

바로 전 Depth에서 최대값을 512이하로 가지는 경우

그 이전 Depth에서 최대값을 256이하로 가지는 경우

등은 더이상 뻗어나가는게 의미가없게 됩니다.


zxcv1534   7년 전

정말 감사합니다! 

덕분에 정답을 받을 수 있었습니다.

dotorya   7년 전

저도 덕분에 시간초과 해결했습니다. 감사합니다!!

cokcjswo   6년 전

저도 참고해서 시간초과 해결했어요 ㅠㅠㅠㅠㅠㅠ 감사합니다 !!!! 


seni   6년 전

감사합니다 ㅠㅠㅠㅠㅠㅠ 첫번째 거르기 조건은 생각해냈는데 미처 생각못한 두번째 조건 덕분에 해결됐어요

댓글을 작성하려면 로그인해야 합니다.