kimby469   3년 전

# 안녕하세요. 처음 실패코드에서 질문이 있어 글을 남기게 되었습니다. 틀린 후 bfs 탐색을 통하니 정답처리가 되었지만 궁금한 것 이 있습니다.

인접리스트 관련해서 상근이와 직접 친구 관계를 맺는 대상들의 사이즈에다가 + 직접 친구관계인 아이들의 친구 관계(인접리스트)를 순회하면서 방문처리가 되었는지 확인하면서 순회를 하였는데. 실패 하는 반례에 대해 생각하지 못한 것 이 있는 지 궁금합니다.

입력 예시를 들자면  1 ->2,3 이렇게 있어서 2,3에 대해 방문 처리를 하면서 sum ++ 증가시키고, 상근이와 직접 친구 관계인 2,3리스트를 확인해야 하므로

2-> 3,1

3-> 1,4,2 

상근이와 직접 친구 관계인 리스트를 확인만 하면 되는 걸로 생각 하였습니다.

혹시 이 부분에서 제가 고려하지 못한 부분이 있는지 궁금하게 되어 글을 남기게 되었습니다..


코드에 대한 직접적인 설명 부분입니다.

이 부분에서는 상근이와 직접적으로 친구 관계를 맺는 부분입니다. 해당 크기를 돌면서 visited에 방문을 체크합니다.

// for (int i = 0; i < list.get(1).size(); i++) {
// visisted[list.get(1).get(i)]=true;
// sum++;
// }

====================================================================================

이 부분에서는 상근이와 직접적인 친구 관계를 맺는 친구들의 인접리스트를 순회하면서 방문했는지 여부를 체크를 했습니다.

for (int i = 0; i < list.get(1).size(); i++) {
// int cur=list.get(1).get(i);
// System.out.println(cur);
// for (int j = 0; j < list.get(cur).size(); j++) {
// if(!visisted[list.get(cur).get(j)])
// sum++;
// }
// }

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