znlduqwl   1년 전

게시판에 있는 반례를 하다가 저의 문제점을 발견했네요.

저는 일반 블럭의 조건을 위해서 r,c를 이중 루프를 돌았습니다. 그러면서 매번 2차원 배열 visited를 초기화해서 진행했습니다. 

근데, 이렇게 하니까 그룹이 중복되서 발견되더라구요. 아래 테케를 보면 

5 3
2 2 -1 3 1
3 3 2 0 -1
0 0 0 1 2
-1 3 1 3 2
0 3 2 2 2


[2,4]에서 2의 그룹이 BFS로 탐색됩니다. 근데 이중 루프를 돌면서 [3,4]에서도 그룹이 만들어지고 심지어 [4,4]에서도 그룹이 만들어지네요.

그러면 사실 위 테케의 첫 오토플레이에서 큰 그룹은 [1,0]을 필두로 하는 3의 그룹들이 8개의 블록을 갖기 때문에 자명하게 가장 큰 그룹을 갖지만, 나중에 단계가 지날수록 중복으로 그룹을 찾는 부분에서 아마 문제가 발생했던거 같습니다... 참 사소한데 이런거 하나때매 문제를 헤매는게 화가 나네요ㅠ


저같은 이유로 0%에서 헤매는 분들이 계실 수도 있을 거 같아서.. 글 올려봅니다..! 

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