temp   9달 전

기본적으로 무조건 7개의 연이어서 찾은다음 배열에 담고, s가 몇개인지 카운팅을 했다가 4이상이면 use()함수를 이용하여 체크하도록 하였습니다.

그런데 이상하게 값이 상당히 튀네요 ㅠㅠ

틀린 부분 지적 부탁드립니다. 꼭 풀고싶습니다.

yukariko   9달 전

배열크기가 5000인데

25C7 개의 가능성이 있으니 부족한것같습니다.

yukariko   9달 전

모두 S로 두었을때 답이 3546 인것으로 봐서 배열크기가 문제인것은 아닌거 같네요.

이 코드의 문제는 그룹이 항상 한방향으로만 늘어나는것 때문입니다.


예를들어 현재 그룹이 지어진 부분을 O, 아닌 부분을 X, 현재 위치를  S라고 가정해보면,

XXXXX

XOXXX

XOXXX

XOXXX

XSXXX

라고 할 때, 위 코드에서는 S와 인접한 두곳만 탐색할 수 있지만, 실제로는 P위치 모두 대상이 됩니다.

XPXXX

POPXX

POPXX

POPXX

PSPXX

따라서 현재 위치라는 정보 보다는, 현재 그룹의 상태를 이용해야 할 것입니다.

temp   9달 전

질문을 드리고싶습니다.

제 소스에서는 결국 모든 경우에 대해서 검색하게 하였는데 저렇게 확장된 7가지의 위치들이 결국 dfs로 인접한녀석을 돌다보면 언젠간 나오지 않을까요?


예를들어

XXXXX
XOXXX
XOXXX
XOXXX
XSXXX

이경우에서  나올수있는 경우의 수가 결국은 다른 dfs의 위치값에 따라 변동이 생기지 않을까요? 제 생각에는 dfs자체가 모든 경우를 판별하겠구나 생각했는데 허점이 있는건지 궁금합니다.

yukariko   9달 전

이런 경우를 찾지 못합니다.

XXOXX

OOOOO

XXOXX

XXXXX

XXXXX



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