sos0911   5년 전

bfs용 queue로 쓸 linkedlist인 bfsl을 선언하고,

인접 리스트로 사용할 linkedlist형 Arraylist인 list를 선언하여 인접 리스트를 만들었습니다.

bfs를 들어가기 전 1번 컴퓨터에서 시작하므로 bfsl.add(1)을 해 주었고,

bfs에서 돌릴 때 아직 방문하지 않은 node를 방문할 때마다 answer++을 하였습니다.

문제에 명시된 예제 포함 질문 게시판에 올라온 여러 반례들을 어지간한 건 모두 테스트해봤음에도 불구하고

마지막 데이터에서 런타임 에러가 뜹니다 ㅠㅠ

dfs로 해 봐도 같은 증상이 나옵니다.

절 도와주세요.. 왜 이런 현상이 나오는지 이해가 안갑니다. (첨부한 건 bfs 버전입니다.)

djm03178   5년 전

https://www.acmicpc.net/board/...

팁을 드리자면 Scanner의 nextInt는 알아서 공백이나 개행 등을 무시해주므로 굳이 nextLine을 해서 개행 문자를 제거해줄 필요가 없습니다.

아직 BOJ에는 데이터가 불완전한 것들이 많으니 가능하면 이러한 입력 오류에서도 살아남을 수 있도록 코딩하세요.

그리고 질문을 올릴 때는 반드시 로컬에서 테스트한 코드 말고 제출했던 코드 그대로를 올려주세요. 이대로 제출하면 클래스 이름 때문에 컴파일 에러, 클래스 이름을 고치면 패키지명 때문에 런타임 에러가 납니다.

sos0911   5년 전

코드를 제출했던 그대로 냈어야 하는데 까먹고 로컬 코드를 올려버렸습니다. 죄송합니다..

본문 소스의 nextLine()을 제거하여 해결되었습니다.

감사합니다!

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