아래의 코드로 변경해서 제출을 해 봤습니다. 통과하네요.
변경한 부분은
1. pc댓수는 100여서 array자릿수를 1001 -> 101로 변경.
2. 혹시라도 unf array에 이상한 값이 있을수도 있어서 초기화를 다음과 같이 했습니다. fill_n(unf, 101, 0);
3. 소소한 수정은 #include 부분을 제 pc 환경에 맞게 수정했습니다.
아래의 코드를 참조해 보세요. 참고로 저는 DFS로 풀었습니다. 그래프 문제는 BFS보다 DFS가 더 효율적이 않을까 개인적인 의견입니다.
감사합니다
xron2929 2년 전
질문 창에서 반례를 찾으려고 해도 보이지 않아 질문드립니다
위 코드는 1을 Q에 넣고, 1이랑 연결된 지점들을 Q에 넣을 때마다, unf 배열안에 Q의 앞부분 값을 넣어주고, 1부터 n까지 탐색해 unf[i]가 0이아니라면, 1씩 더해주고, 마지막으로, 1일 때 -1로 빼주는 코드입니다
양방향도 해주었고, 배열도 너무 작을까봐 늘렸는데도 14%작동하지 않네요...
예외 데이터가 있을까요?