백준 10451 번 - 순열 사이클 (C++/BFS/DFS/그래프)
문제 접근법 문제만 이해하면 접근법은 쉽다. 처음에 3,2,7,8,1,4,5,6 만 입력을 받고 그래프로 어떻게 표현하지를 생각하는데 시간이 오래걸렸다. 예시를 잘 보면 위쪽은 배열의 Index, 아래쪽은 입력한 수 이므로, adjacants[from][to] 라고 가정했을때 (adjacants는 그래프간의 연결을 나타냄), from = 배열의 Index to = 입력받은 수 를 넣어주면 된다 그 이후는 BFS코드를 그대로 사용한다. visited를 만들어서 q에 시작위치 하나를 먼저 저장한후, q.front(),q.push()를 반복하며 순회해준다. 사이클 수는 간단하다. 밑에서 BFS를 호출할때 for문에 넣어줘서 if(visited[i]==false) 일 때 순회하는데 만약 visited[1]이 f..